<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Dojo Defender : Session 7 :: CoderDojo Python &amp; Pygame</title><link>https://python.coderdojohasselt.be/fr/dojo-defender/session-7/index.html</link><description>Aujourd’hui, c’est toi qui décides de ce qui se passe dans Dojo Defender. Pas d’instructions pas à pas — choisis une feature, planifie-la et construis-la.
Tu démarres avec le Dojo Defender complet, avec tout ce qu’il faut : vaisseau, astéroïdes, 3 types d’ennemis, waves, particules, étoiles en parallaxe, et un boss final avec 3 phases.
Ce jeu est le tien. Fais-en quelque chose.
Choisis ce que tu veux construire Voici des idées. Choisis-en une — ou trouve ta propre feature.</description><generator>Hugo</generator><language>fr-BE</language><atom:link href="https://python.coderdojohasselt.be/fr/dojo-defender/session-7/index.xml" rel="self" type="application/rss+xml"/><item><title>Dojo Defender Session 7 : Cheatsheet</title><link>https://python.coderdojohasselt.be/fr/dojo-defender/session-7/cheatsheet/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://python.coderdojohasselt.be/fr/dojo-defender/session-7/cheatsheet/index.html</guid><description>Variables de power-up powerups = [] # liste de GameObjects de power-up active_powerup = None # 'spread', 'shield', 'speed' ou None powerup_timer = 0 # frames restantes Faire apparaître un power-up (à la mort d’un ennemi) def spawn_powerup(x, y): if random.random() &lt; 0.2: # 20 % de chance ptype = random.choice(['spread', 'shield', 'speed']) pu = GameObject(f'powerup_{ptype}.png', x, y) pu.pu_type = ptype pu.speed = 2 powerups.append(pu) Ramasser un power-up for pu in powerups[:]: pu.rect.y += pu.speed if pu.rect.top > HEIGHT + 30: powerups.remove(pu) elif pu.rect.colliderect(ship.rect) and ship.visible: active_powerup = pu.pu_type powerup_timer = 300 # 5 secondes powerups.remove(pu) Timer du power-up actif if active_powerup: powerup_timer -= 1 if powerup_timer &lt;= 0: active_powerup = None Spread shot (3 balles) if active_powerup == 'spread' and shoot_cooldown == 0: angles = [-15, 0, 15] for a in angles: rad = math.radians(a) bullet = GameObject('bullet.png', x, y) bullet.dx = math.sin(rad) * 3 bullet.dy = -8 bullets.append(bullet) shoot_cooldown = 10 Pour un tir normal : bullet.dx = 0 et bullet.dy = -8.</description></item><item><title>Dojo Defender Session 7 : Démo</title><link>https://python.coderdojohasselt.be/fr/dojo-defender/session-7/demo/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://python.coderdojohasselt.be/fr/dojo-defender/session-7/demo/index.html</guid><description>Comment montrer la solution Ouvre un terminal dans le dossier du projet. Lance : uv run python3 code/sessions/08-sky-highway/dojo-defender-solution/main.py Montre :
Menu : affiche le high score (0 la première fois) ESPACE lance le jeu Les power-ups apparaissent : tire sur des ennemis jusqu’à ce qu’un power-up tombe (20 % de chance) Power-up bleu (spread shot) : affiche « SPREAD SHOT: 5s » en haut, tire 3 balles Power-up vert (bouclier) : affiche « SHIELD: 5s », une aura de bouclier autour du vaisseau, absorbe 1 hit Power-up jaune (speed boost) : affiche « SPEED BOOST: 5s », le vaisseau bouge 2x plus vite Game over : affiche le score, le high score et « NEW HIGH SCORE! » en cas de record Redémarrage : le nouveau high score est gardé Points de code à montrer :</description></item><item><title>Dojo Defender Session 7 : Notes du coach</title><link>https://python.coderdojohasselt.be/fr/dojo-defender/session-7/mentor-notes/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://python.coderdojohasselt.be/fr/dojo-defender/session-7/mentor-notes/index.html</guid><description>Objectif de cette session Après cette session, un ninja sait :
Trouver et planifier lui-même une feature à l’aide d’un plan d’étapes simple Lire et comprendre du code existant pour y ajouter quelque chose Résoudre un problème de façon autonome avec un accompagnement minimal du coach Cette session est différente de toutes les précédentes — pas d’instructions pas à pas. Le ninja choisit lui-même ce qu’il construit.
Préparation (30 min avant la session) Le ZIP du starter prêt sur USB et sur le site : dojo-defender-s8-starter.fr.zip. Le starter est la solution complète de DD S7 (boss + toutes les features). Lance-le une fois sur le portable de la salle dojo. Mets-toi d’accord avec les autres coaches pour savoir quel ninja fait quelle feature, pour avoir de la variété dans le showcase. Imprime quelques modèles de planification (le bloc « Planification guidée par le coach » de la fiche de travail) pour les ninjas qui préfèrent travailler sur papier. Répartition du temps (3 heures) Cette session fait partie intégrante de la session normale 8 (Sky Highway) :</description></item></channel></rss>