<?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: Sessie 7 :: CoderDojo Python &amp; Pygame</title><link>https://python.coderdojohasselt.be/dojo-defender/session-7/index.html</link><description>Vandaag bepaal jij wat er in Dojo Defender gebeurt. Geen stap-voor-stap instructies — kies een feature, plan hem, en bouw hem.
Je start van de complete Dojo Defender met alles erop en eraan: schip, asteroïden, 3 vijandtypes, waves, particles, parallax sterren, en een eindbaas met 3 fases.
Dit is jouw game. Maak er iets van.
Kies wat jij wil bouwen Hieronder staan ideeën. Kies er één — of bedenk je eigen feature.</description><generator>Hugo</generator><language>nl</language><atom:link href="https://python.coderdojohasselt.be/dojo-defender/session-7/index.xml" rel="self" type="application/rss+xml"/><item><title>Dojo Defender Sessie 7: Cheatsheet</title><link>https://python.coderdojohasselt.be/dojo-defender/session-7/cheatsheet/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://python.coderdojohasselt.be/dojo-defender/session-7/cheatsheet/index.html</guid><description>Power-up variabelen powerups = [] # lijst van power-up GameObjects active_powerup = None # 'spread', 'shield', 'speed' of None powerup_timer = 0 # frames remaining Power-up spawnen (bij enemy death) def spawn_powerup(x, y): if random.random() &lt; 0.2: # 20% kans ptype = random.choice(['spread', 'shield', 'speed']) pu = GameObject(f'powerup_{ptype}.png', x, y) pu.pu_type = ptype pu.speed = 2 powerups.append(pu) Power-up verzamelen 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 seconden powerups.remove(pu) Timer voor actieve power-up if active_powerup: powerup_timer -= 1 if powerup_timer &lt;= 0: active_powerup = None Spread shot (3 kogels) 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 Bij gewoon schieten: bullet.dx = 0 en bullet.dy = -8.</description></item><item><title>Dojo Defender Sessie 7: Coach-notities</title><link>https://python.coderdojohasselt.be/dojo-defender/session-7/mentor-notes/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://python.coderdojohasselt.be/dojo-defender/session-7/mentor-notes/index.html</guid><description>Doel van deze sessie Na deze sessie kan een ninja:
Zelf een feature bedenken en plannen aan de hand van een eenvoudig stappenplan Bestaande code lezen en begrijpen om er iets aan toe te voegen Zelfstandig een probleem oplossen met minimale coach-begeleiding Deze sessie is anders dan alle vorige — geen stap-voor-stap instructies. De ninja kiest zelf wat hij bouwt.
Voorbereiding (30 min vóór de sessie) Starter ZIP klaar op USB en de site: dojo-defender-s8-starter.zip. De starter is de complete DD S7 oplossing (boss + alle features). Draai hem één keer op de dojoruimte-laptop. Spreek met de andere coaches af welke ninja’s welke feature doen, zodat er variatie is in de showcase. Print een paar planning-sjablonen (het Coach-geleide planning blok uit de worksheet) voor ninja’s die liever op papier werken. Tijdsindeling (3 uur) Deze sessie is integraal onderdeel van de normale sessie 8 (Sky Highway):</description></item><item><title>Dojo Defender Sessie 7: Demo</title><link>https://python.coderdojohasselt.be/dojo-defender/session-7/demo/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://python.coderdojohasselt.be/dojo-defender/session-7/demo/index.html</guid><description>Hoe demonstreer je de oplossing Open een terminal in de projectmap. Voer uit: uv run python3 code/sessions/08-sky-highway/dojo-defender-solution/main.py Laat zien:
Menu: toont high score (0 bij eerste keer) SPACE start het spel Power-ups spawnen: schiet vijanden tot er een power-up valt (20% kans) Blauwe power-up (spread shot): toon “SPREAD SHOT: 5s” bovenaan, schiet 3 kogels Groene power-up (shield): toon “SHIELD: 5s”, schild-aura rond het schip, absorbeert 1 hit Gele power-up (speed boost): toon “SPEED BOOST: 5s”, schip beweegt 2x sneller Game over: toont score, high score, en “NEW HIGH SCORE!” bij record Herstart: nieuwe high score is bewaard Code-highlights om te tonen:</description></item></channel></rss>