Este exercício é similar ao anterior: tem que reproduzir o padrão de cores da primeira célula para as outras.
A primeira diferença é que o mundo é cercado de muros: portanto tem que
modificar levemente a sua trajetória para garantir que o buggle não bata num
muro. O jeito mais simples é manipular a primeira célula fora do loop
for e fazer apenas getWorldHeight()-1 passos no
loop.
A outra diferença é que o deslocamento para aplicar entre as colunas não é fixo, mas está escrito na primeira célula de cada coluna. Para obter a informação como um inteiro, podemos usar:
[!java]int deslocamento = Integer.parseInt(readMessage())[/!][!python]deslocamento = int( readMessage() )[/!][!scala]val deslocamento = readMessage().toInt[/!]
readMessage() obtém a mensagem no chão como uma
[!java|scala]String[/!][!python]string[/!], enquanto
[!java]Integer.parseInt(str)[/!][!scala]str.toInt[/!][!python]int(str)[/!]
transforma a cadeia str num inteiro ao ler ela.
Então, para escolher a cor certa, o mais fácil é usar o operador
% (operador módulo). Por exemplo, (i + 5) % tam
serve para recuperar a i-ésima célula de uma array de tamanho
tam com um deslocamento de 5.
Agora é consigo.