Skip to content
Belphemur edited this page Oct 20, 2012 · 1 revision

(en fr pour être sûr que c’est clair)
EventHandler qui va appeller sur le Board movePlayer(Direction)

  1. Le board va demander au player s’il peut bouger (canMove(Direction))
    1. Le player vérifie la direction voulue
      1. Si c’est un mur retourne false
      2. Si c’est une box, va lui demander de vérifier si elle peut bouger. Enregistre aussi que c’est la dernière box que le player a rencontré. Enregistre aussi le fait qu’elle puisse ou non bouger.
        1. Si la box peut bouger, retourne true, sinon false
  2. Si le player peut bouger
    1. On vérifie d’abord s’il va bouger une boite et on garde ça
    2. On fait bouger le joueur
      1. Le joueur bouge (Movable::move(Direction))
        1. La classe Movable changer les coordonnée du player autant en interne que sa place dans la matrice _movables de Board
        2. Si le joueur a rencontré une Box, et qu’elle peut bouger, il va lui demander de bouger
          1. Appelle la même méthode Move de Movable (pour la Box)
    3. Si le joueur a bouger une box, on vérifie la winning condition
      1. Checker les targets, voir s’il y a une box sur elle ou pas et comptabilisé le nombre de cible avec Box
Clone this wiki locally