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.