Este exercício é similar ao anterior: você tem que reproduzir o padrão de cores da primeira célula nas outras.
A primeira diferença é que o mundo é cercado de muros: você portanto
tem que modificar levemente 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
getAlturaDoMundo()-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 string str
em um inteiro ao ler ela.
Então, para pegar a cor certa, o mais fácil é usar o operador
%
(módulo). Por exemplo, (i + 5) % tamanho
serve para recuperar a i
-ésima célula de uma array de
tamanho tamanho
com um deslocamento de 5
.
You're up.