Encontrar as paredes para seguir

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.

Objetivo do exercício

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.