Voiture¶
-
class
Voiture.Voiture(x, y, lettre, sens, taille)¶ - Variables
x (int) – La position en abscisse
y (int) – La position en ordonnée
lettre (str) – La lettre qui identifie la voiture
sens (Sens) – Le sens de la voiture : horizontale ou verticale
taille (Taille) – La taille de la voiture : deux ou trois
case (list) – La liste des cases de la grille occupées par la voiture
-
__init__(x, y, lettre, sens, taille)¶ Constructeur de la classe.
- Paramètres
>>> from Sens import Sens >>> from Taille import Taille >>> voiture = Voiture(2,2,"A",Sens.VERTICAL,Taille.DEUX)
-
__eq__(voiture)¶ Indique l’égalité ou non entre 2 voitures.
On condisère que 2 voitures sont identiques si :
leur lettre sont identiques
leurs positions sont identiques
leur taille sont identiques
La méthode retourne donc :
True: Les deux voitures sont identiquesFalse: Les deux situations sont différentes
- Paramètres
a (Situation) – Une voiture
- Type renvoyé
boolean
>>> from Sens import Sens >>> from Taille import Taille >>> >>> voiture_un = Voiture(2,2,"A",Sens.VERTICAL,Taille.DEUX) >>> voiture_deux = Voiture(2,2,"A",Sens.VERTICAL,Taille.DEUX) >>> voiture_trois = Voiture(2,2,"C",Sens.VERTICAL,Taille.DEUX) >>> >>> voiture_un == voiture_deux True >>> voiture_un == voiture_trois False
-
__str__()¶ Génère une chaine de charactères indiquant la lettre de la voiture.
>>> from Sens import Sens >>> from Taille import Taille >>> >>> voiture = Voiture(2,2,"A",Sens.VERTICAL,Taille.DEUX) >>> print(voiture) [A]
-
generer_cases_utilises()¶ Génère la liste des cases utilisées par la voiture.
Une voiture avec une taille de 2 générera une liste de 2 cases.
Une voiture avec une taille de 3 générera une liste de 3 cases.
Cette méthode est appelée par le constructeur pour initialiser l’attribut case.
- Type renvoyé
list(tuple())
>>> from Sens import Sens >>> from Taille import Taille >>> >>> voiture = Voiture(2,2,"A",Sens.VERTICAL,Taille.DEUX) >>> voiture.case [(2, 2), (2, 3)]
-
info()¶ Retourne les informations d’une voiture :
La lettre
La position
Le sens
La taille
Les cases utilisées
- Type renvoyé
dictionnary
>>> from Sens import Sens >>> from Taille import Taille >>> >>> voiture = Voiture(2,2,"A",Sens.VERTICAL,Taille.DEUX) >>> voiture = Voiture(2,2,"A",Sens.VERTICAL,Taille.DEUX) >>> voiture.info() {'lettre': 'A', 'position': (2, 2), 'sens': <Sens.VERTICAL: 2>, 'taille': <Taille.DEUX: 2>, 'case': [(2, 2), (2, 3)]}
-
move(direction, situation)¶ Effectue le déplacement d’une voiture et retourne la nouvelle situation après déplacement.
- Paramètres
direction (Direction) – La direction dans laquelle il faut bouger la voiture
situation (type) – La situation de jeu d’origine
- Type renvoyé
Situation
>>> from Sens import Sens >>> from Taille import Taille >>> from Situation import Situation >>> from Direction import Direction >>> >>> # Création d'une voiture >>> voiture = Voiture(2,2,"X",Sens.HORIZONTAL,Taille.DEUX) >>> >>> #Création d'une situation >>> situation = Situation([voiture]) >>> situation.afficher() [ ][ ][ ][ ][ ][ ] [ ][ ][ ][ ][ ][ ] [ ][ ][X][X][ ][ ] [ ][ ][ ][ ][ ][ ] [ ][ ][ ][ ][ ][ ] [ ][ ][ ][ ][ ][ ] >>> >>> #Génération de la nouvelle situation >>> nouvelle_situation = voiture.move(Direction.DROITE, situation) >>> nouvelle_situation.afficher() [ ][ ][ ][ ][ ][ ] [ ][ ][ ][ ][ ][ ] [ ][ ][ ][X][X][ ] [ ][ ][ ][ ][ ][ ] [ ][ ][ ][ ][ ][ ] [ ][ ][ ][ ][ ][ ]