Parcours Le jeu de mémoire Simon Étape 1
Les quatre touches
Dessiner les quatre touches du Simon dans leurs couleurs éteintes, et en allumer une pour tester.
Notions :tableaux de couleurssialorsmod
Chaque touche a deux couleurs : une sombre quand elle est éteinte, une claire quand elle s'allume. On les range dans deux tableaux, dans le même ordre : vert, rouge, jaune, bleu.
Une procédure pour tout dessiner
dessinerSimon(allume) dessine les quatre touches. Le paramètre indique la touche allumée (1 à 4), ou 0 si aucune ne l'est :
sialors(k = allume, claires[k - 1], sombres[k - 1])
Placer les touches
Les touches forment un carré de 2 × 2. Pour la touche k :
- la colonne vaut
(k - 1) mod 2: 0 pour les touches 1 et 3, 1 pour les touches 2 et 4 ; - la ligne vaut
arrondi_inferieur((k - 1) / 2): 0 pour les touches 1 et 2, 1 pour 3 et 4.
Chaque touche fait 135 pixels de côté, et elles sont espacées de 145 : il reste 10 pixels de séparation.
Ouvrez CoddyRun et partez d'un programme vide : tout commence ici.
Il te faut le logiciel pour faire cette étape. Il est gratuit : crée ton compte pour le télécharger, puis reviens ici, ta place t'attend.
Créer mon compte et téléchargerIndice 1
Déclarez jeu est une toile (300 × 300) et sombres, claires, noms est un tableau.
Indice 2
Les couleurs sont écrites entre guillemets dans les tableaux.
Indice 3
Pour tester, appelez appelle dessinerSimon(2) : la touche rouge, en haut à droite, doit être claire.
Voir la solution complète
Essayez d'abord par vous-même : c'est en cherchant qu'on apprend. La solution sert à vérifier ou à se débloquer.
@ Les déclarations
jeu est une toile
sombres, claires, noms est un tableau
@ Le dessin
procédure dessinerSimon(allume)
effacer(jeu)
remplir(jeu, #1E272E)
pour k de 1 à 4
// la touche allumée prend sa couleur claire
rectangle_arrondi(jeu, 10 + ((k - 1) mod 2) * 145, 10 + arrondi_inferieur((k - 1) / 2) * 145, 135, 135, 18, sialors(k = allume, claires[k - 1], sombres[k - 1]))
fin pour
affiche jeu
fin procédure
@ Programme principal
sombres vaut ["#0B6E4F", "#8E1B2C", "#A67C00", "#0B4F8E"]
claires vaut ["#00E39A", "#FF4D6D", "#FFD43B", "#4DB8FF"]
noms vaut ["vert", "rouge", "jaune", "bleu"]
dimension(jeu, 300, 300)
appelle dessinerSimon(2)