Sessie 2: Coach-notities
Doel van deze sessie
Na de Basic checkpoint kan een ninja:
- Een lijst met meteoren aanmaken en beheren.
- Meteoren laten spawnen, bewegen en verwijderen als ze het scherm uit vallen.
- Levens aftrekken bij een botsing en stoppen als alle levens op zijn.
Dojo Defender start vandaag. Ninjas voegen hun ruimteschip toe aan het grotere project.
Voorbereiding (30 min vóór de sessie)
- Starter ZIPs klaar op USB en de site:
starter.zipendojo-defender-s2.zip. - Dojo Defender briefing voorbereiden: leg uit dat dit project elke sessie groeit en dat het de moeite loont om aanwezig te blijven.
- Zelf de starter éénmaal draaien op de dojoruimte-laptop.
Tijdsindeling (3 uur)
| Tijd | Activiteit |
|---|---|
| 0:00 tot 0:10 | Terugblik sessie 1 + intro meteoren |
| 0:10 tot 0:25 | Stap 1: spawn_meteor() |
| 0:25 tot 1:00 | Stap 2: bewegen + collision |
| 1:00 tot 1:45 | Stap 3 tot 4: game over, snelheid, score |
| 1:45 tot 2:15 | Dojo Defender intro + ruimteschip bewegen |
| 2:15 tot 2:45 | Buffer / stretch / expert |
| 2:45 tot 3:00 | Showcase + cliffhanger |
Veelgestelde vragen
“Mijn lijst wordt steeds groter en het spel vertraagt”
De meteoren worden niet verwijderd. Controleer of de remove()-call correct is en of de loop over meteors[:] (kopie) gaat, niet over meteors zelf.
“global lives geeft een fout”
global moet bovenaan de functie staan, vóór de eerste keer dat de variabele gebruikt wordt.
“De meteoren starten allemaal op dezelfde plek”
random.randint staat buiten de functie. Verplaats het naar binnen spawn_meteor().
Hints voor Stretch en Expert
Stretch: game over
Zet game_over = True in de collision-code als lives <= 0. In update() controleer je dit als eerste regel: if game_over: return.
Stretch: snelheid
snelheid = 3 + score // 5 werkt goed. Pas op voor te grote waarden bij hoge scores. Bouw een maximum in: min(snelheid, 12).
Expert: score
Verhoog score in update() elke 60 frames, niet bij elke collision. Gebruik dezelfde timer-variabele.
Cliffhanger-script
“Vandaag heb je meteoren ontweken. Volgende keer heb je een wapen. Jouw schip SCHIET TERUG, en er staan vijanden in formatie te wachten.”
Dojo Defender vandaag
Ninjas kopiëren de bewegingscode van het dodge-spel naar de Dojo Defender starter (download van de site). Zorg dat iedereen begrijpt dat dit een apart bestand is dat ze elke sessie bijhouden. Adviseer om het op te slaan in een aparte map, niet gemengd met de sessie-starter. De volledige Dojo Defender coach-notities staan op de Dojo Defender pagina.