CoddyRun

Parcours Le jeu des allumettes Étape 1

Étape 1 sur 6

Le tas d'allumettes

Dessiner une rangée de 21 allumettes avec une boucle, sous un titre qui indique combien il en reste.

Notions :toileboucle pourprocédure à paramètre

Le résultat final du parcours : Le jeu des allumettes
Le résultat final du projet
Ce qu'il faut savoir

Une allumette, c'est un rectangle de bois surmonté d'un cercle rouge. Pour en dessiner 21, on répète ces deux formes avec une boucle, en décalant chaque allumette de 17 pixels :

pour n de 0 à nbAllumettes - 1
    rectangle(jeu, 20 + n * 17, 70, 6, 90, #E8C07D)
    cercle(jeu, 23 + n * 17, 70, 6, #D7263D)
fin pour

La tête est centrée sur le bois : le rectangle fait 6 pixels de large, son milieu est donc 3 pixels plus loin que son bord gauche.

Une procédure pour redessiner

Le tas sera redessiné après chaque coup. La procédure dessiner(message) efface la toile, dessine les allumettes restantes et écrit un message en bas. Le message est un paramètre : chaque appel peut afficher un texte différent.

La boucle va jusqu'à nbAllumettes - 1 : quand il n'y a plus d'allumettes, elle va de 0 à -1 et ne dessine rien.

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

La toile fait 400 × 240 pixels : dimension(jeu, 400, 240).

Indice 2

La dernière allumette (a = 20) est en x = 20 + 20 × 17 = 360 : elle tient dans la toile.

Indice 3

N'oubliez pas affiche jeu à la fin de la procédure.

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
nbAllumettes est un nombre

@ Le dessin
procédure dessiner(message)
    effacer(jeu)
    remplir(jeu, #2D3436)
    label(jeu, 20, 34, "Allumettes restantes : " + convertir_texte(nbAllumettes), #FFFFFF, 18)
    pour n de 0 à nbAllumettes - 1
        rectangle(jeu, 20 + n * 17, 70, 6, 90, #E8C07D)
        cercle(jeu, 23 + n * 17, 70, 6, #D7263D)
    fin pour
    label(jeu, 20, 205, message, #FFD966, 15)
    label(jeu, 20, 228, "Touches 1, 2 ou 3 pour retirer des allumettes", #B2BEC3, 12)
    affiche jeu
fin procédure

@ Programme principal
dimension(jeu, 400, 240)
nbAllumettes vaut 21
appelle dessiner("À vous de jouer !")

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