Logique de déplacement du robot (zbot)
-
Fonctions de suivi de ligne:
- followLine: Permet de suivre la ligne jusqu'à ce qu'une condition soit atteinte (pointeur de fonction). Elle ne permet pas d'effectuer des tournants de 90 degrées.
-
Fonctions pour les tournants:
- turnCorner: Permet au robot d'effectuer un tournant à 90 degrées sans le support d'une ligne.
- turnCornerAssited: Permet au robot d'effectuer un tournant à 90 degrées avec le support d'une ligne.
- Autres fonctions pertinentes pour permettre au robot de tourner durant le parcours.
Logique de résolution:
-
classe ButtonReader: Machine à état permettant d'obtenir les directions choisis pour les fourches.
-
classe ButtonHandler: Encapsulation des accès aux boutons pour les interruptions et le ButtonReader.
-
houseLoop: Encapsulation de la logique de la boucle sous forme de maison dans une fonction.
-
classe ChosenTurns: Classe permettant de résoudre les deux fourches avec deux directions obtenues à la construction.
-
classe GridSolver: Machine à état permettant la résolution de la grille.
-
classe MapSolver: Pseudo machine à état permettant d'assembler la logique de chacune des sous-sections.