CoddyRun

Parcours Le jeu de la vie Étape 1

Étape 1 sur 6

La grille et un premier motif

Créer une grille de 30 × 30 cellules, toutes mortes, en allumer cinq pour former un « planeur », et dessiner le tout.

Notions :tableau à deux dimensionsboucles imbriquéesgrille

Le résultat final du parcours : Le jeu de la vie
Le résultat final du projet
Ce qu'il faut savoir

Le monde est une grille de 30 lignes et 30 colonnes. Chaque cellule est vivante (1) ou morte (0). On range tout dans un tableau à deux dimensions : cellules[l][c] est la cellule de la ligne l et de la colonne c.

Remplir la grille

Deux boucles imbriquées mettent les 900 cellules à 0. Le tableau se crée au fur et à mesure qu'on écrit dedans :

pour l de 0 à 29
    pour c de 0 à 29
        cellules[l][c] vaut 0
    fin pour
fin pour

Le planeur

On allume ensuite cinq cellules précises. Elles forment le motif le plus célèbre du jeu de la vie : le planeur, qui se déplacera tout seul en diagonale !

Dessiner

Chaque cellule fait 10 × 10 pixels. Une cellule vivante est un carré vert de 8 pixels, avec 1 pixel de marge. grille(monde, 10, couleur) trace le quadrillage en une ligne. Une bande en bas de la toile servira à afficher des informations.

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 monde est une toile (300 × 330) et cellules est un tableau.

Indice 2

Les boucles de dessin utilisent d'autres noms, ly et cx, pour ne pas se mélanger avec celles du programme principal.

Indice 3

Le planeur : les cellules (1, 2), (2, 3), (3, 1), (3, 2) et (3, 3).

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
monde est une toile
cellules est un tableau

@ Le dessin
procédure dessiner()
    effacer(monde)
    remplir(monde, #0D1117)
    grille(monde, 10, #1E2A38)
    pour ly de 0 à 29
        pour cx de 0 à 29
            si cellules[ly][cx] = 1 alors
                rectangle(monde, cx * 10 + 1, ly * 10 + 1, 8, 8, #00BA7C)
            fin si
        fin pour
    fin pour
    rectangle(monde, 0, 300, 300, 30, #161B22)
    affiche monde
fin procédure

@ Programme principal
dimension(monde, 300, 330)
pour l de 0 à 29
    pour c de 0 à 29
        cellules[l][c] vaut 0
    fin pour
fin pour
// un planeur
cellules[1][2] vaut 1
cellules[2][3] vaut 1
cellules[3][1] vaut 1
cellules[3][2] vaut 1
cellules[3][3] vaut 1
appelle dessiner()

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