Seu buggle se perdeu num estranho labirinto, e você deve ajudá-lo a achar a
saída que está representada em laranja. Você não pode simplesmente explicar
o caminho para a saída com algo do tipo
direita();avançar();avançar();avançar()
por que você tem que
salvar dois buggles ao mesmo tempo, que estão presos em mundos similares mas
não iguais. Você pode alternar para o outro mundo usando o combobox acima da
representação do mundo (onde está escrito 'Floresta Fechada' agora), e
selecionar a outra entrada (que deve ler 'Floresta Mais Fechada').
A boa nova é que o caminho para a saída está desenhado no chão. Como você pode ver, o mundo é feito de vários corredores, com baggles no chão. Depois de cada corredor, você deve virar à esquerda se o corredor tiver três baggels ou mais, e virar a direita se tiver apenas 2 ou menos baggles.
You should count exactly 5 cells per corridor, from intersection to intersection. Consider in your count the intersection ending the corridor but not the intersection before the corridor.
Logo, a forma geral de seu código deve ser algo como "enquanto não encontrar
a saída, pegue o próximo corredor para decidir se vira à esqueda ou à
direita na próxima intersecção". Você pode determinar se você está na célula
de saída (que é laranja) com o método saídaAlcançada()
fornecido.
Para entrar num corredor, você tem que simplesmente correr de uma
intersecção para outra enquanto conta os baggles que vê no seu caminho. Isto
é fácil: existem 5 passos em cada corredor, de forma que um simples loop
for
resolve.
Ah, e quando chegar na saída, não esqueça de dar um passo a mais para sair de fato do labirinto!