CoddyRun

Parcours Le jeu de mémoire Simon Étape 1

Étape 1 sur 6

Les quatre touches

Dessiner les quatre touches du Simon dans leurs couleurs éteintes, et en allumer une pour tester.

Notions :tableaux de couleurssialorsmod

Le résultat final du parcours : Le jeu de mémoire Simon
Le résultat final du projet
Ce qu'il faut savoir

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.

Code de départ

Ouvrez CoddyRun et partez d'un programme vide : tout commence ici.

Pas encore CoddyRun ?

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écharger
Besoin d'aide ?
Indice 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)

Ce parcours te plaît ?

Crée ton compte gratuit et construis le projet en entier, étape par étape.

Créer mon compte gratuit J'ai déjà un compte