Session 2 : Notes du coach
Objectif de cette session
Après le checkpoint Basic, un ninja sait :
- Créer et gérer une liste de météores.
- Faire apparaître des météores, les faire bouger et les supprimer quand ils sortent de l’écran.
- Retirer une vie à chaque collision et arrêter quand il n’y a plus de vies.
Dojo Defender démarre aujourd’hui. Les ninjas ajoutent leur vaisseau au plus grand projet.
Préparation (30 min avant la session)
- Les ZIP du starter prêts sur USB et sur le site :
starter.zipetdojo-defender-s2.zip. - Préparer le briefing Dojo Defender : explique que ce projet grandit à chaque session et que ça vaut la peine d’être présent.
- Lancer toi-même le starter une fois sur le portable de la salle dojo.
Répartition du temps (3 heures)
| Temps | Activité |
|---|---|
| 0:00 à 0:10 | Retour sur la session 1 + intro aux météores |
| 0:10 à 0:25 | Étape 1 : spawn_meteor() |
| 0:25 à 1:00 | Étape 2 : bouger + collision |
| 1:00 à 1:45 | Étapes 3 et 4 : game over, vitesse, score |
| 1:45 à 2:15 | Intro Dojo Defender + faire bouger le vaisseau |
| 2:15 à 2:45 | Buffer / stretch / expert |
| 2:45 à 3:00 | Showcase + cliffhanger |
Questions fréquentes
« Ma liste devient de plus en plus grande et le jeu ralentit »
Les météores ne sont pas supprimés. Vérifie que l’appel à remove() est correct et que la boucle parcourt meteors[:] (une copie), pas meteors lui-même.
« global lives donne une erreur »
global doit être en haut de la fonction, avant la première fois que la variable est utilisée.
« Les météores apparaissent tous au même endroit »
random.randint est en dehors de la fonction. Déplace-le à l’intérieur de spawn_meteor().
Indices pour Stretch et Expert
Stretch : game over
Mets game_over = True dans le code de collision si lives <= 0. Dans update(), tu vérifies ça en première ligne : if game_over: return.
Stretch : vitesse
snelheid = 3 + score // 5 marche bien. Fais attention aux valeurs trop grandes avec un score élevé. Prévois un maximum : min(snelheid, 12).
Expert : score
Augmente le score dans update() toutes les 60 frames, pas à chaque collision. Utilise la même variable timer.
Script du cliffhanger
« Aujourd’hui, tu as évité des météores. La prochaine fois, tu as une arme. Ton vaisseau RÉPLIQUE, et des ennemis en formation t’attendent. »
Dojo Defender aujourd’hui
Les ninjas copient le code de déplacement du jeu d’esquive dans le starter Dojo Defender (téléchargé du site). Fais en sorte que tout le monde comprenne que c’est un fichier à part qu’ils gardent à chaque session. Conseille de l’enregistrer dans un dossier séparé, sans le mélanger avec le starter de la session. Les notes du coach complètes de Dojo Defender se trouvent sur la page Dojo Defender.