CoddyRun

Parcours La course d'escargots Étape 1

Étape 1 sur 6

La piste et les escargots

Dessiner une piste à quatre couloirs avec une ligne d'arrivée en damier, et quatre escargots de couleurs différentes sur la ligne de départ.

Notions :procédure de dessincouloirs alternésdamier avec mod

Le résultat final du parcours : La course d'escargots
Le résultat final du projet
Ce qu'il faut savoir

Un escargot, c'est un assemblage de formes : une ellipse pour le corps, un cercle pour la tête, deux lignes pour les antennes, et une coquille faite de trois cercles de plus en plus petits et transparents, qui dessinent une spirale. La procédure escargot(x, y, teinte) place tout autour du point (x, y).

Les couloirs

Quatre bandes de 50 pixels de haut, espacées de 55. Pour mieux les distinguer, elles alternent entre deux verts : sialors(pair(i), …, …).

Le damier d'arrivée

La ligne d'arrivée est faite de petits carrés noirs et blancs qui alternent à chaque rangée :

rectangle(piste, 380 + (k mod 2) * 6, 30 + k * 10, 6, 10, #FFFFFF)

k mod 2 vaut 0, puis 1, puis 0… : le carré blanc saute d'une colonne à l'autre à chaque rangée.

Les positions

Les positions des quatre escargots sont rangées dans un tableau, toutes à 40 au départ : la course pourra les faire avancer.

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 piste est une toile (420 × 260) et positions, teintes, noms est un tableau.

Indice 2

L'escargot du couloir i se dessine en y = 30 + i * 55 + 30, au milieu de sa bande.

Indice 3

Le nom de chaque coureur s'écrit au début de son couloir, en petit.

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
piste est une toile
positions, teintes, noms est un tableau

@ Les dessins
procédure escargot(x, y, teinte)
    // le corps et la tête
    ellipse(piste, x + 4, y + 8, 22, 6, #C8A97E)
    cercle(piste, x + 22, y + 4, 5, #C8A97E)
    // les antennes
    ligne(piste, x + 22, y, x + 28, y - 11, #8D6E4C, 2)
    ligne(piste, x + 19, y, x + 20, y - 12, #8D6E4C, 2)
    cercle(piste, x + 28, y - 11, 2, #2D3436)
    cercle(piste, x + 20, y - 12, 2, #2D3436)
    // la coquille, avec sa spirale
    cercle(piste, x, y - 4, 14, teinte)
    cercle(piste, x, y - 4, 8, rgba(255, 255, 255, 0.35))
    cercle(piste, x, y - 4, 3, rgba(255, 255, 255, 0.6))
fin procédure

procédure dessinerPiste()
    effacer(piste)
    remplir(piste, #6AB04C)
    pour i de 0 à 3
        rectangle(piste, 0, 30 + i * 55, 420, 50, sialors(pair(i), #A3CB38, #B8D962))
        label(piste, 4, 44 + i * 55, noms[i], #2D3436, 11)
    fin pour
    // la ligne d'arrivée en damier
    pour k de 0 à 21
        rectangle(piste, 380 + (k mod 2) * 6, 30 + k * 10, 6, 10, #FFFFFF)
        rectangle(piste, 386 - (k mod 2) * 6, 30 + k * 10, 6, 10, #2D3436)
    fin pour
    pour i de 0 à 3
        appelle escargot(positions[i], 30 + i * 55 + 30, teintes[i])
    fin pour
    affiche piste
fin procédure

@ Programme principal
teintes vaut ["#F4212E", "#1D9BF0", "#FFD43B", "#7A4E9C"]
noms vaut ["Fusée", "Éclair", "Tornade", "Mollusque"]
dimension(piste, 420, 260)
vide positions
répète 4 fois
    positions ajoute 40
fin répète
appelle dessinerPiste()

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