Nouvelles pistes

Et mince ! Votre buggle s'est encore perdue dans le même genre de labyrinthes, mais cette fois les corridors ne sont pas tous de la même taille. Comme il n'y a aucun moyen de connaître à l'avance la longueur du corridor que l'on commence à explorer, une boucle for semble mal adaptée. Au lieu de cela, vous devriez changer votre boucle interne en un while. Utilisez la méthode crossing(), qui indique si votre buggle se trouve actuellement à un embranchement.

Le problème, c'est que lorsque vous commencez l'exploration d'un corridor, vous vous trouvez à une intersection mais vous voulez avancer quand même. [!java|scala|c]La solution la plus simple est alors d'utiliser une boucle do / while au lieu d'un simple while pour bouger jusqu'à la prochaine intersection.[/!] [!python]Utilisez pour cela une variable supplémentaire indiquant si vous êtes déjà entré dans un corridor. Cela vous permettra d'exécuter le core de boucle au moins une fois (quand premiereFois est vraie) avant de tester la valeur retournée par crossing().[/!]

[!python]
premiereFois = True
while premiereFois or not crossing():
  premiereFois = False
  (le corps de la boucle)
[/!]

Avec ces nouvelles astuces, votre buggle devrait parvenir à s'échapper assez facilement.