Cet exercice ressemble au précédent : il faut reproduire le motif de couleurs de la première colonne dans les colonnes suivantes.
La première différence est que le monde est entouré d'un mur : il faut donc
modifier légèrement les parcours pour s'assurer que la buggle ne se cogne
pas sur les bords. Le plus simple est de traiter la première case de la
colonne en dehors de la boucle for
(avant la boucle), et faire
seulement getWorldHeight()-1
pas dans la boucle.
La seconde différence est que le décalage à effectuer entre les colonnes n'est pas fixe, mais écrit sur la première case de chaque colonne. Pour obtenir l'information sous forme d'un entier, on peut utiliser:
[!java]int decalage = Integer.parseInt(readMessage())[/!][!python]decalage = int( readMessage() )[/!][!scala]val decalage = readMessage().toInt[/!]
litMessage()
lit l'indication au sol sous forme d'une chaîne de
caractères,
tandis que
[!java]Integer.parseInt(ch)[/!][!scala]ch.toInt[/!][!python]int(ch)[/!]
transforme la chaîne ch
en un entier en la lisant.
Ensuite, pour trouver la bonne couleur à utiliser, le plus simple est
d'utiliser l'opérateur %
(modulo). Par exemple, (i + 5) %
taille
permet de trouver la i
ieme case d'un tableau de
taille taille
quand on applique un décalage de 5
cases.
À vous de jouer.