Nous allons maintenant apprendre à la buggle à explorer son monde. Sa position de départ est en bas à gauche, et elle doit visiter toutes les cases juqu'en haut (en coloriant le sol sur son passage). La boucle principale de votre code doit être de la forme :
baisser le crayon tant que l'on est pas à la position finale avancer comme un serpent
Il faut donc écrire deux méthodes spécifiques. L'une renvoie un booléen indiquant si l'on se trouve à la position finale, tandis que l'autre avance d'un pas de serpent.
On se trouve sur une position finale si et seulement si les deux conditions suivantes sont vraies.:
getDirection()
, et on sait si elle regarde à l'est avec le test
getDirection() == Direction.EAST
(WEST pour ouest).Ensuite un pas de serpent se fait en avancant d'un pas si l'on est pas face à un mur, et en montant à la ligne du dessus sinon (càd, si on regarde à l'ouest face à un mur, il faut tourner à droite, avancer, tourner à droite).
Indication: la boucle principale de votre code doit continuer tant que la fonction adéquate renvoie faux. On peut l'écrire de deux façons:
while (fonctionTest() == [!java|scala]false) {[/!][!python]False):[/!]
[!python]Vous pouvez préférer l'écrire ainsi:[/!] [!java|scala]Comme le point d'exclamation (!) dénote la négation booléenne en [!thelang], vous pouvez aussi l'écrire:[/!]
while ([!java|scala]![/!][!python]not [/!]fonctionTest())[!java|scala] {[/!][!python]:[/!]
À vous de jouer...