Percorrer pelas colunas

O objetivo desta série de exercícios é fazer o buggle percorrer seu mundo. Ele deve numerar as células por onde passa para mostrar a ordem do caminho.

O loop principal de seu código deve ser algo como:

 enquanto não estiver na posição final
   vá para a próxima posição
   rotule a célula com um número

Ao contrário dos exercícios que vimos até agora, não vamos usar os métodos avançar(), recuar() e similares. Ao invés disto, vamos calcular as coordenadas da próxima posição de buggle e usar o método setPos(x, y) para teletransportar o buggle diretamente para esta posição. Por exemplo, setPos(3, 5) teletransporta o buggle para a célula onde x=3 e y=5.

Sua primeira tarefa é escrever uma função booleana indicando se o buggle alcançou a posição final ou não, ou seja se ele alcançou o canto inferior direito do mundo. Para isto, você pode usar getWorldWidth() e getWorldHeight() que retornam respectivamente a largura e altura do mundo. Seu teste é deve comparar a posição atual do buggle (que vocẽ pode acessar com getX() e getY()) com as dimensões do mundo.
Cuidado, a primeira linha e a primeira coluna são numeradas com 0 e não com 1...

Then, you have to write the code to reach the next position. In this exercise, you have to traverse the world row after row. So, if you are at the bottom of a row, you have to move to the top of next row, and you have to move to the cell below else.

Neste ponto, você pode lançar seu programa para verificar se o buggle percorre corretamente o mundo na ordem esperada, e que ele pára quando tem que parar. Use oo botão stop se o buggle não parar corretamente.

It is now time to write down the cell numbers. For that, you will need a counter initialiser to zero at the beginning of your code, and incremented by one at each step (for example with counter += 1;). Then, you have to use writeMessage() to write the value on the ground.

You probably need to write the first [!java|scala|c]or last [/!]value out of the main loop [!java|scala|c], depending on whether you prefer to use a while or a do/while one[/!].

Sua vez...