Mais rastros de buggles

Uau! O seu buggle perdeu-se novamente no mesmo tipo de labirinto, mas desta vez, os corredores nem sempre são do mesmo tamanho. Porque não há como saber a comprimento do corredor antes de tomá-lo, um for não será mais suficiente. Ao invés disso, terá que mudar o seu loop interno para usar um loop while, a usar o método crossing() que diz se o seu buggle está atualmente numa intersecção.

A complexidade adicional é que no início de um corredor, obviamente está num cruzamento, mas ainda quer seguir. [!java|scala|c]Para isso, o mais fácil é usar um loop do / while em vez de um loop regular while para mover até a próxima intersecção.[/!] [!python]Para isso, use uma variável adicional para indicar se já entrou no corredor, como a seguir. Isto assegurará que execute o corpo do loop pelo menos uma vez (quando firstTime for true) antes de usarmos o valor retornado por crossing() para determinar se devemos continuar ou não.[/!]

[!python]
primeiraVez = True
while primeiraVez or not crossing():
  primeiraVez = False
  (corpo do loop)
[/!]

Com esse novo truque, o seu buggle deve sair desse labirinto muito facilmente.