<?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 :: CoderDojo Python &amp; Pygame</title><link>https://python.coderdojohasselt.be/dojo-defender/index.html</link><description>Dojo Defender is onze huisgame: een top-down survival shooter die we samen bouwen over meerdere sessies.
Voor wie? Dojo Defender is voor ninja’s die regelmatig langskomen. De game groeit over 7 sessies mee met de gewone lessen. Kom je maar af en toe? Geen probleem: doe de mini-game van die sessie. Die is altijd compleet op zich.
Reken niet op een complete Dojo Defender als je veel sessies mist. Maar het sjabloon en alle snapshots staan op deze site, dus thuis verder bouwen kan altijd.</description><generator>Hugo</generator><language>nl</language><atom:link href="https://python.coderdojohasselt.be/dojo-defender/index.xml" rel="self" type="application/rss+xml"/><item><title>Dojo Defender: Sessie 1</title><link>https://python.coderdojohasselt.be/dojo-defender/session-1/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://python.coderdojohasselt.be/dojo-defender/session-1/index.html</guid><description>Je ruimteschip is geland in de donkere ruimte. Tijd om het tot leven te brengen. In deze sessie voeg je een bestuurbaar schip toe en laat je asteroïden naar beneden vallen. Ontwijk ze of verlies een leven. Hoe lang overleef jij?
Wat je vandaag leert Lijsten gebruiken om meerdere asteroïden bij te houden Objecten spawnen en verwijderen Botsingen detecteren met colliderect Levens bijhouden en een explosie-effect tonen Game-over afdwingen als je levens op zijn Stap 0: Installeren Open Thonny. Download de Dojo Defender starter, pak de ZIP uit en open main.py. Klik op Run. Je ziet een donkerblauw scherm met je ruimteschip onderaan. Je kan het al bewegen met de pijltjestoetsen. Problemen? Kijk bij Thonny instellen. Stap 1: Laat asteroïden spawnen Een game zonder gevaar is saai. Voeg een lijst toe waarin je alle asteroïden bijhoudt, en een functie die nieuwe asteroïden aanmaakt:</description></item><item><title>Dojo Defender: Sessie 2</title><link>https://python.coderdojohasselt.be/dojo-defender/session-2/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://python.coderdojohasselt.be/dojo-defender/session-2/index.html</guid><description>Je schip heeft nu een wapen. Vijanden komen eraan. Schiet ze neer voordat ze de bodem bereiken. Elke 10 vijanden betekent een nieuwe wave — en het wordt steeds moeilijker.
Wat je vandaag leert Schieten met de spatiebalk en een cooldown Lijsten voor kogels en vijanden Collision tussen kogels en vijanden Golven (waves) die steeds moeilijker worden Vijanden die sinus-bewegingen maken Stap 0: Open de starter Open Thonny. Download de Dojo Defender starter voor vandaag, pak de ZIP uit en open main.py. Was je er vorige keer niet bij? Download de oplossing van sessie 1 en begin daarmee. Klik op Run. Je ziet hetzelfde spel als vorige keer: schip, asteroïden, explosies. Problemen? Kijk bij Thonny instellen. Stap 1: Schieten met SPATIE Je schip heeft een laserkanon. Voeg een lijst voor kogels toe bovenaan:</description></item><item><title>Dojo Defender: Sessie 3</title><link>https://python.coderdojohasselt.be/dojo-defender/session-3/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://python.coderdojohasselt.be/dojo-defender/session-3/index.html</guid><description>Vandaag verhuist Dojo Defender van pgzero naar echte pygame. Geen pgzrun.go() meer — jij schrijft de game loop zelf. Het spel blijft hetzelfde, maar de motor eronder is anders. En aan het einde voeg je GELUID toe.
Wat je vandaag leert Het verschil tussen pgzero en raw pygame De game loop zelf programmeren: while running: clock.tick(60) Actors omzetten naar Surface + Rect Geluid laden en afspelen met pygame.mixer Achtergrondmuziek laten loepen Stap 0: Download de starter De starter voor vandaag is een volledige port van Dojo Defender Sessie 2 naar raw pygame. Geen pgzero meer, maar het speelt hetzelfde.</description></item><item><title>Dojo Defender: Sessie 4</title><link>https://python.coderdojohasselt.be/dojo-defender/session-4/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://python.coderdojohasselt.be/dojo-defender/session-4/index.html</guid><description>Vandaag wordt Dojo Defender een echt spel met een menu. Geen zwarte start meer — je krijgt een titelscherm, een game-over scherm, en drie verschillende vijandtypes die elk hun eigen beweging hebben.
Wat je vandaag leert State machines: je spel heeft toestanden (MENU, PLAYING, GAME OVER) Vijand-AI: elke vijand beweegt anders (recht, zigzag, charger) Wave-systeem: steeds moeilijkere golven met mixen van vijanden Een reset-functie: alles netjes terugzetten zonder herstart Stap 0: Download de starter De starter is de oplossing van sessie 3 — Dojo Defender in raw pygame met geluid.</description></item><item><title>Dojo Defender: Sessie 5</title><link>https://python.coderdojohasselt.be/dojo-defender/session-5/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://python.coderdojohasselt.be/dojo-defender/session-5/index.html</guid><description>Vandaag geef je Dojo Defender een diepte-effect met een parallax sterrenachtergrond en explosie-deeltjes. Asteroïden worden ook vernietigbaar: grote asteroïden splitsen in kleinere.
Wat je vandaag leert Parallax rekenen: meerdere lagen sterren met eigen snelheid Deeltjeslijsten: een lijst van dictionaries voor particles Positie-gebaseerde effecten: particles spawnen op de juiste plek Recursief splitsen: grote asteroïde → 2 medium → 2 klein → weg Stap 0: Download de starter De starter is de oplossing van sessie 4 — Dojo Defender met menu, drie vijandtypes en waves.</description></item><item><title>Dojo Defender: Sessie 6</title><link>https://python.coderdojohasselt.be/dojo-defender/session-6/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://python.coderdojohasselt.be/dojo-defender/session-6/index.html</guid><description>Vandaag voeg je een eindbaas (boss) toe aan Dojo Defender. De boss verschijnt om de 5 waves en heeft 3 fases met eigen gedrag. Je leert werken met een eigen state machine, HP-balken en schermeffecten.
Wat je vandaag leert State machine voor een baas: PHASE_1, PHASE_2, PHASE_3 en EXPLODING HP-balk tekenen met kleurverloop (groen → geel → rood) Doelzoekende kogels: een kogel die naar de speler beweegt Screen shake: willekeurige offset op teken-coördinaten Fase-overgangen met visuele effecten Stap 0: Download de starter De starter is de oplossing van sessie 5 — Dojo Defender met parallax sterren, particles en splitsende asteroïden.</description></item><item><title>Dojo Defender: Sessie 7</title><link>https://python.coderdojohasselt.be/dojo-defender/session-7/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://python.coderdojohasselt.be/dojo-defender/session-7/index.html</guid><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></item><item><title>Voortgang per sessie</title><link>https://python.coderdojohasselt.be/dojo-defender/progression/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://python.coderdojohasselt.be/dojo-defender/progression/index.html</guid><description>DD Sessie Na curriculum Wat is er nieuw? Snapshot 1 S2 Ruimteschip + asteroïden + leven + explosies (volgt) 2 S3 Schieten + vijanden + score + waves (volgt) 3 S4 (Pygame) Herbouwd in Pygame met sprites + geluid (volgt) 4 S5 Menu + 3 vijandtypes (volgt) 5 S6 Parallax sterren + particles + splitsende asteroïden (volgt) 6 S7 Boss fight met 3 fases + HP-balk (volgt) 7 S8 Jouw eigen versie (power-ups, high score, …) (volgt)</description></item></channel></rss>