[!java|scala]Tableaux[/!][!python]Listes[/!], tricot et modulo

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 iieme case d'un tableau de taille taille quand on applique un décalage de 5 cases.

À vous de jouer.