Package interactif
Class Vaisseau
java.lang.Object
interactif.InteractifPhysique
interactif.Vaisseau
- All Implemented Interfaces:
Serializable,Dessinable
Classe Vaisseau: représentation sommaire d'un vaisseau à l'aide d'un cercles.
Un vaisseau mémorise sa masse, sa charge, son rayon, sa position, sa vitesse,
son accélération et la somme des forces qui s'applique sur lui.
Une vaisseau a une methode qui permet de s'avancer d'un pas ainsi que des
méthodes pour gérer les collisions
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionVaisseau(Vecteur2D position, double charge, double masse, VaisseauImage tuileDuVaisseau) Constructeur du vaisseau -
Method Summary
Modifier and TypeMethodDescriptionvoidavancerUnPas(double deltaT) Calcule la nouvelle vitesse et la nouvelle position du vaisseau après un certain intervalle de temps.voidPermet de créer la géométrie du vaisseau.voiddessiner(Graphics2D g2d) Permet de dessiner un vaisseau, sur le contexte graphique passé en parametre.Méthode qui forme l'aire d'un objet vaisseau Utile pour les collisions avec des objets définis par un Area (pics, drapeau, portail)voidgererCollisionAvecBordures(double largeurComposant, double hauteurComposant) Détermine s'il y a une collision avec les bordures de la zone d'animation, puis modifie la vitesse en conséquencevoidDétermine s'il y a collision avec un coin, puis modifie la vitesse du vaisseau en conséquencevoidDétermine s'il y a collision avec une plaque, puis modifie la vitesse du vaisseau en conséquencevoidgererCollisionAvecSegment(Segment segment) Détermine s'il y a collision avec un segment, puis modifie la vitesse du vaisseau en conséquencegetAccel()Retourne l'accélération du vaisseaubooleanRetourne le booléen qui indique si une collision avec un segment a été trouvéedoubleRetourne la durée de la collisionbooleanRetourne le booléen qui indique si le vaisseau est en collisionRetourne la force normale agissant sur le vaisseaudoublegetMasse()Retourne la masse du vaisseaudoubleRetourne le module de la vitesse limite du vaisseauRetourne la position du vaisseau à l'itération précédentedoublegetRayon()Retourne le rayon du vaisseauRetourne la somme des forces agissant sur le vaisseaugetTuile()Retourne l'objet VaisseauImage qui contient les propriétés de la tuile du vaisseauRetourne la vitesse du vaisseauvoidModifie l'accélération du vaisseauvoidsetCollisionTrouvee(boolean collisionTrouvee) Modifie le booléen qui indique si une collision avec un segment a été trouvéevoidsetDureeCollision(double dureeCollision) Modifie la durée de la collisionvoidsetEnCollision(boolean nouvelEtatDeCollision) Modifie le booléen qui indique si le vaisseau est en collisionvoidsetForceNormale(Vecteur2D forceNormale) Modifie la force normale agissant sur le vaisseauvoidsetMasse(double masse) Modifie la masse du vaisseauvoidsetPositionPrecedente(Vecteur2D positionPrecedente) Modifie la position du vaisseau à l'itération précédentevoidsetRayon(double rayon) Modifie le rayon du vaisseauvoidsetSommeDesForces(Vecteur2D sommeForcesSurVaisseau) Recalcule l'accélération du vaisseau à l'aide de la nouvelle somme des forces passée en paramètre Ceci aura pour conséquence de modifier l'accélération !!! La méthode provient d'anciens projets (ex-auteur : Caroline Houle) mais a été implementé et modifier pour notre code !!!voidsetTuile(VaisseauImage tuileDuVaisseau) Modifie l'objet VaisseauImage qui contient les propriétés de la tuile du vaisseauvoidsetVitesse(Vecteur2D vitesse) Modifie la vitesse du vaisseautoString(int nbDecimales) Permet d'afficher quelques caractéristiques du vaisseau : Sa position, sa vitesse, son accélération, la somme des forces agissant sur lui et sa charge !!! La méthode provient d'anciens projets (ex-auteur : Caroline Houle) mais a été implementé et modifier pour notre code !!!Methods inherited from class interactif.InteractifPhysique
getCharge, getPixelsParMetre, getPosition, setCharge, setPixelsParMetre, setPosition
-
Constructor Details
-
Vaisseau
Constructeur du vaisseau- Parameters:
position- La position du vaisseaucharge- La charge du vaisseaumasse- La masse du vaissetuileDuVaisseau- L'objet tuile représentant le vaisseau
-
-
Method Details
-
avancerUnPas
public void avancerUnPas(double deltaT) Calcule la nouvelle vitesse et la nouvelle position du vaisseau après un certain intervalle de temps.- Parameters:
deltaT- intervalle de temps (pas de simulation)
-
creerLaGeometrie
public void creerLaGeometrie()Permet de créer la géométrie du vaisseau.- Specified by:
creerLaGeometriein classInteractifPhysique
-
dessiner
Permet de dessiner un vaisseau, sur le contexte graphique passé en parametre.- Specified by:
dessinerin interfaceDessinable- Specified by:
dessinerin classInteractifPhysique- Parameters:
g2d- Le contexte graphique
-
formerAireDuVaisseau
Méthode qui forme l'aire d'un objet vaisseau Utile pour les collisions avec des objets définis par un Area (pics, drapeau, portail)- Returns:
- la forme du vaisseau dans un area
-
gererCollisionAvecBordures
public void gererCollisionAvecBordures(double largeurComposant, double hauteurComposant) Détermine s'il y a une collision avec les bordures de la zone d'animation, puis modifie la vitesse en conséquence- Parameters:
largeurComposant- La largeur de la zone d'animation, en mètrehauteurComposant- La hauteur de la zone d'animation, en mètre
-
gererCollisionAvecCoin
Détermine s'il y a collision avec un coin, puis modifie la vitesse du vaisseau en conséquence- Parameters:
coin- Le coin d'un bloc avec laquelle le vaisseau entre en collision
-
gererCollisionAvecPlaque
Détermine s'il y a collision avec une plaque, puis modifie la vitesse du vaisseau en conséquence- Parameters:
plaque- La plaque avec laquelle le vaisseau entre en collision
-
gererCollisionAvecSegment
Détermine s'il y a collision avec un segment, puis modifie la vitesse du vaisseau en conséquence- Parameters:
segment- Le segment avec laquelle le vaisseau entre en collision
-
getAccel
Retourne l'accélération du vaisseau- Returns:
- L'accélération du vaisseau
-
getCollisionTrouvee
public boolean getCollisionTrouvee()Retourne le booléen qui indique si une collision avec un segment a été trouvée- Returns:
- Le booléen qui indique si une collision avec un segment a été trouvée
-
getDureeCollision
public double getDureeCollision()Retourne la durée de la collision- Returns:
- La durée de la collision
-
getEnCollision
public boolean getEnCollision()Retourne le booléen qui indique si le vaisseau est en collision- Returns:
- Le booléen qui indique si le vaisseau est en collision
-
getForceNormale
Retourne la force normale agissant sur le vaisseau- Returns:
- La force normale agissant sur le vaisseau
-
getMasse
public double getMasse()Retourne la masse du vaisseau- Returns:
- La masse du vaisseau
-
getModuleVitesseLimite
public double getModuleVitesseLimite()Retourne le module de la vitesse limite du vaisseau- Returns:
- Le module de la vitesse limite du vaisseau
-
getPositionPrecedente
Retourne la position du vaisseau à l'itération précédente- Returns:
- La position du vaisseau à l'itération précédente
-
getRayon
public double getRayon()Retourne le rayon du vaisseau- Returns:
- Le rayon du vaisseau
-
getSommeDesForces
Retourne la somme des forces agissant sur le vaisseau- Returns:
- La somme des forces agissant sur le vaisseau
-
getTuile
Retourne l'objet VaisseauImage qui contient les propriétés de la tuile du vaisseau- Returns:
- L'objet VaisseauImage
-
getVitesse
Retourne la vitesse du vaisseau- Returns:
- La vitesse du vaisseau
-
setAccel
Modifie l'accélération du vaisseau- Parameters:
accel- Accélération du vaisseau
-
setCollisionTrouvee
public void setCollisionTrouvee(boolean collisionTrouvee) Modifie le booléen qui indique si une collision avec un segment a été trouvée- Parameters:
collisionTrouvee- Le nouveau booléen qui indique si une collision avec un segment a été trouvée
-
setDureeCollision
public void setDureeCollision(double dureeCollision) Modifie la durée de la collision- Parameters:
dureeCollision- La nouvelle durée de la collision
-
setEnCollision
public void setEnCollision(boolean nouvelEtatDeCollision) Modifie le booléen qui indique si le vaisseau est en collision- Parameters:
nouvelEtatDeCollision- Le nouveau booléen qui indique si le vaisseau est en collision
-
setForceNormale
Modifie la force normale agissant sur le vaisseau- Parameters:
forceNormale- La nouvelle force normale agissant sur le vaisseau
-
setMasse
public void setMasse(double masse) Modifie la masse du vaisseau- Parameters:
masse- Masse du vaisseau
-
setPositionPrecedente
Modifie la position du vaisseau à l'itération précédente- Parameters:
positionPrecedente- La nouvelle position du vaisseau à l'itération précédente
-
setRayon
public void setRayon(double rayon) Modifie le rayon du vaisseau- Parameters:
rayon- Rayon du vaisseau
-
setSommeDesForces
Recalcule l'accélération du vaisseau à l'aide de la nouvelle somme des forces passée en paramètre Ceci aura pour conséquence de modifier l'accélération !!! La méthode provient d'anciens projets (ex-auteur : Caroline Houle) mais a été implementé et modifier pour notre code !!!- Parameters:
sommeForcesSurVaisseau- La somme des forces exercées sur le vaisseau
-
setTuile
Modifie l'objet VaisseauImage qui contient les propriétés de la tuile du vaisseau- Parameters:
tuileDuVaisseau- Le nouvel objet VaisseauImage
-
setVitesse
Modifie la vitesse du vaisseau- Parameters:
vitesse- Vitesse du vaisseau
-
toString
Permet d'afficher quelques caractéristiques du vaisseau : Sa position, sa vitesse, son accélération, la somme des forces agissant sur lui et sa charge !!! La méthode provient d'anciens projets (ex-auteur : Caroline Houle) mais a été implementé et modifier pour notre code !!!- Parameters:
nbDecimales- Le nombre souhaité de décimales après la virgule- Returns:
- Une chaine présentant quelques caractéristiques du vaisseau
-