Dojo Defender Session 1 : Notes du coach

Objectif de cette session

Après cette session, un ninja sait :

  • Créer et gérer une liste d’astéroïdes avec Actor
  • Faire apparaître des astéroïdes avec un timer et les supprimer quand ils sortent de l’écran
  • Détecter des collisions avec colliderect
  • Tenir les vies à jour et forcer le game over
  • Afficher une animation d’explosion simple

Préparation (30 min avant la session)

  • Les ZIP du starter prêts sur USB et sur le site : dojo-defender-s2-starter.fr.zip et dojo-defender-s2-solution.fr.zip.
  • Lancer le starter une fois sur le portable de la salle dojo.
  • Expliquer que Dojo Defender revient à chaque session — encourage-les à bien garder le code.

Répartition du temps (3 heures)

Cette session fait partie intégrante de la session 2 normale (Dodge Meteors). Utilise le temps comme ceci :

TempsActivité
0:00 à 1:00Session 2 : Dodge Meteors (étapes 1-4)
1:00 à 1:15Intro Dojo Defender + télécharger le starter
1:15 à 1:45Étapes 1-2 : faire apparaître + bouger les astéroïdes
1:45 à 2:15Étape 3 : collision + vies
2:15 à 2:45Étape 4 : explosions + invincibilité
2:45 à 3:00Showcase + cliffhanger

Questions fréquentes

« Mes astéroïdes ne sont pas dessinés » La boucle for des astéroïdes n’est probablement pas dans draw(), ou elle se trouve après un return.

« global donne une erreur » global timer doit être en haut de la fonction, avant la première fois que timer est utilisé.

« Le vaisseau est invisible après une collision » Vérifie que ship.visible = True est bien mis quand l’explosion est finie. Le reset doit arriver après la frame 4 de l’explosion.

« L’explosion ne s’affiche pas » N’oublie pas d’appeler explosion.draw() dans draw(), et de mettre explosion_active à True lors d’une collision.


Indices pour Stretch et Expert

Stretch : collision Explique que colliderect vérifie si deux rectangles (hitboxes) se chevauchent. C’est la méthode standard en pgzero.

Expert : explosion Le mécanisme d’explosion est une animation de frames à la main : tu changes l’image de l’Actor toutes les 5 frames. C’est une technique simple mais efficace.

Expert : invincibilité L’invincibilité évite d’être à nouveau touché juste après une explosion. Utilise un compteur qui descend à chaque frame.


Script du cliffhanger

« Aujourd’hui, tu as évité des astéroïdes et tu as vu ton vaisseau exploser. La prochaine fois : ton vaisseau RÉPLIQUE. Des ennemis en formation, et toi tu as des lasers. Prêt à attaquer ? »