Comme vous avez pu le remarquer, le programme ne fonctionne pas. Ce qui se passe est que Reeborg entre dans une boucle infinie quand il n'y a pas de mur autour de lui. Nous devons le faire avancer après avoir tourné à droite, comme indiqué ci-dessous :
def turn_right():
repeat(turn_left, 3)
put_beeper()
move()
while not on_beeper():
if right_is_clear():
turn_right()
move()
elif front_is_clear():
move()
else:
turn_left()
turn_off()
Maintenant, considérons le monde illustré ci-dessous. Est-ce que notre programme fonctionnera ?
Comme vous l'avez sûrement deviné hélas, la réponse est non. Essayez de comprendre pourquoi avant de continuer à lire.