Parcours Le Puissance 4 Étape 1
La grille bleue
Ranger les 42 cases dans un tableau à une dimension et dessiner la grille, avec la couleur de chaque jeton calculée par une fonction.
Notions :tableau à une dimensionboucles imbriquéesfonction de couleur
La grille a 6 lignes et 7 colonnes. On range les 42 cases dans un seul tableau cases, ligne après ligne : la case de la ligne l et de la colonne c est cases[l * 7 + c]. La ligne 0 est en haut, la ligne 5 en bas.
Chaque case vaut 0 (vide), 1 (jeton rouge) ou 2 (jeton jaune).
Dessiner avec deux boucles
Une boucle sur les lignes contient une boucle sur les colonnes : 6 × 7 = 42 cercles.
cercle(jeu, 30 + c * 60, 80 + l * 60, 24, couleurJeton(cases[l * 7 + c]))
Les trous ont la couleur du fond : sur le grand rectangle bleu, ils donnent l'illusion d'une grille percée.
Pour vérifier les indices, le programme pose trois jetons à la main : cases[5 * 7 + 3] est le trou du bas, au milieu.
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
Remplissez cases avec 42 zéros grâce à une boucle de 0 à 41.
Indice 2
La fonction couleurJeton(v) renvoie rouge pour 1, jaune pour 2 et la couleur du fond pour 0.
Indice 3
Les boucles de la procédure s'appellent l et c ; le programme principal utilise i.
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
cases, noms est un tableau
joueur, colonne, ligneJ, x, y est un nombre
message est un texte
@ La grille
fonction couleurJeton(v)
teinte est un texte
si v = 1 alors
teinte vaut #F4212E
sinon si v = 2 alors
teinte vaut #FFD43B
sinon
teinte vaut #0B1020
fin si
retourne teinte
fin fonction
procédure dessiner()
effacer(jeu)
remplir(jeu, #0B1020)
label(jeu, 12, 32, message, #FFFFFF, 16)
rectangle_arrondi(jeu, 0, 50, 420, 360, 16, #1D4ED8)
pour l de 0 à 5
pour c de 0 à 6
cercle(jeu, 30 + c * 60, 80 + l * 60, 24, couleurJeton(cases[l * 7 + c]))
fin pour
fin pour
affiche jeu
fin procédure
@ Programme principal
dimension(jeu, 420, 420)
pour i de 0 à 41
cases ajoute 0
fin pour
// quelques jetons pour vérifier le dessin et les indices
cases[5 * 7 + 3] vaut 1
cases[5 * 7 + 4] vaut 2
cases[4 * 7 + 3] vaut 1
message vaut "Puissance 4"
appelle dessiner()