personnages
Class Bonhomme

java.lang.Object
  extended by java.lang.Thread
      extended by personnages.Personnage
          extended by personnages.Bonhomme
All Implemented Interfaces:
java.lang.Runnable
Direct Known Subclasses:
BonhommeRV, BonhommeRVFixe, Penseur

public class Bonhomme
extends Personnage


Nested Class Summary
 
Nested classes/interfaces inherited from class java.lang.Thread
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
 
Field Summary
 
Fields inherited from class personnages.Personnage
couleur, direction, DROITE, GAUCHE, REPOS, SAUTD, SAUTG, silhouette, taille, x, y, zone
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
Bonhomme()
          appelle le constructeur sans pafametre de sa super-classe.
Bonhomme(java.awt.Component zone, int x, int y, int taille, java.awt.Color couleur, boolean cyclique)
          constructeur de la classe
 
Method Summary
 void dessinerP(java.awt.Graphics g)
          dessine le bonhomme en fonction des parametres.
 void direBonjour()
          fait tendre la main au bonhomme (vers la droite si la direction du bonhomme est DROITE et vers la gauche sinon) pour qu'il dise bonjour a un autre bonhomme de la meme taille et de la meme ordonnee mais de direction opposee, a condition que ces deux bonhommes soient exactement a la bonne distance(2 * getLongueurBras()) et leve ensemble le bras.
 int getLongueurBras()
          donne la valeur abslolue de la difference d'ordonnee entre l'abscisse x du bonhomme et l'abscisse de sa main lorsqu'il a le bras tendu pour dire bonjour.
 java.awt.Rectangle getRectangle()
          retourne le rectangle circonscrit au bonhomme, selon sa silhouette et sa position.
 int silhouetteSuivante()
          retourne, losque le bonhomme marche, la silhouette qui suit la silhouette actuelle.
 
Methods inherited from class personnages.Personnage
changerDirection, demarrer, dessiner, dormir, dormir, estDedans, estDedans, estStoppe, estSupprime, estSuspendu, evite, faireMouvement, fairePas, fairePas, getAttente, getCouleur, getCyclique, getDirection, getPas, getSilhouette, getTaille, getVitesse, getX, getY, initialiser, positionRepos, reprendre, run, sauter, setCouleur, setCyclique, setDirection, setPas, setSilhouette, setTaille, setTempsSaut, setTour, setVitesse, setX, setY, stopper, supprimer, suspendre, touche
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Bonhomme

public Bonhomme()
appelle le constructeur sans pafametre de sa super-classe.


Bonhomme

public Bonhomme(java.awt.Component zone,
                int x,
                int y,
                int taille,
                java.awt.Color couleur,
                boolean cyclique)
constructeur de la classe

Parameters:
zone - composant graphique dans lequel le bonhomme devra s'afficher.
x - abscisse d'un point central du bonhomme.
y - ordonnee d'un point central du bonhomme.
taille - la hauteur du bonhomme en pourcentage de la hauteur du composant. Cette taille est limitee a 100.
couleur - la couleur du bonhomme
Method Detail

dessinerP

public void dessinerP(java.awt.Graphics g)
dessine le bonhomme en fonction des parametres. Le bonhomme dispose de deux silhouettes qu'il alterne lorsqu'il marche vers la droite et deux pour la gauche. Il dispose aussi d'une silhouete de position de repos, d'une silhouette ou il dit bonjour vers la droite (il tend la main) et d'une silhouette ou il dit bonjour vers la gauche. Le personnage dispose enfin de deux silhouettes identiques correspondant aux valeurs SAUTG et SAUTD de la variable silhouette. param g le contexte graphique avec lequel le personnage est dessine

Specified by:
dessinerP in class Personnage
Parameters:
g - le contexte graphique servant a dessiner le personnage

silhouetteSuivante

public int silhouetteSuivante()
retourne, losque le bonhomme marche, la silhouette qui suit la silhouette actuelle. Si la direction est la droite : - dans le cas ou la silhouette actuelle est la silhouette de repos, ou la seconde silhouette de marche vers la droite, la silhouette suivante est la premiere silhouette de marche vers la droite. dans le cas ou la silhouette actuelle est la premiere silhouette de marche vers la droite, la silhouette suivante est la seconde silhouette de marche vers la droite. - dans le cas ou la silhouette actuelle est une silhouette qui dit bonjour, ou bien une silhouette qui marche vers la gauche, la silhouette suivante est la silhouette de repos. Si la direction est la gauche : - dans le cas ou la silhouette actuelle est la silhouette de repos, ou la seconde silhouette de marche vers la gauche, la silhouette suivante est la premiere silhouette de marche vers la gauche. - dans le cas ou la silhouette actuelle est la premiere silhouette de marche vers la gauche, la silhouette suivante est la seconde silhouette de marche vers la gauche. - dans le cas ou la silhouette actuelle est une silhouette qui dit bonjour, ou bien une silhouette qui marche vers la droite, la silhouette suivante est la silhouette de repos.

Specified by:
silhouetteSuivante in class Personnage

getLongueurBras

public int getLongueurBras()
donne la valeur abslolue de la difference d'ordonnee entre l'abscisse x du bonhomme et l'abscisse de sa main lorsqu'il a le bras tendu pour dire bonjour.


getRectangle

public java.awt.Rectangle getRectangle()
retourne le rectangle circonscrit au bonhomme, selon sa silhouette et sa position.

Specified by:
getRectangle in class Personnage

direBonjour

public void direBonjour()
fait tendre la main au bonhomme (vers la droite si la direction du bonhomme est DROITE et vers la gauche sinon) pour qu'il dise bonjour a un autre bonhomme de la meme taille et de la meme ordonnee mais de direction opposee, a condition que ces deux bonhommes soient exactement a la bonne distance(2 * getLongueurBras()) et leve ensemble le bras.