Este é o mesmo labirinto que o anterior, mas o buggle não inicia na mesma localização. Em particular, não existe nenhuma parede à esquerda dele no início.
O resultado é que o método que escreveu para o exercício anterior provavelmente não vai funcionar neste agora. Se usá-lo aqui sem modificações, o seu buggle provavelmente vai iniciar a percorrer as quatro células ao redor do ponto inicial (se este não é o caso, bem, é porque não fez o exercício anterior completamente. Sinta-se sortudo e vá para o próximo exercício :)
Isto é porque o seu método keepHandOnSideWall()
tem uma
pré-condição implícita: funciona bem apenas se o buggle tem uma
parede à esquerda quando o chama. Tais pré-condições são muito usadas em
programação. Especificá-las explicitamente ajuda a entender o código escrito
por outros e até servem, às vezes, para provar que o código funciona
corretamente.
Consertar o problema deve ser bem fácil. Simplesmente garanta que a
pré-condição de keepHandOnSideWall()
seja verificada antes de
chamá-lo. Para isto, atualize o seu código para primeiro olhar a uma parede
à sua esquerda antes do loop while
maior.