Sessie 3: Coach-notities

Doel van deze sessie

Na de Basic checkpoint kan een ninja:

  • Een kogel aanmaken als SPATIE wordt ingedrukt en die opslaan in een lijst.
  • Kogels omhoog laten bewegen en verwijderen als ze het scherm uit gaan.
  • Verstaan waarom je bullets[:] gebruikt en niet bullets bij verwijderen in een loop.

Voorbereiding

  • Starter ZIP klaar op USB en de site.
  • Zelf éénmaal de oplossing draaien om de timing van de stappen te kennen.
  • Dojo Defender: ninjas voegen vandaag een schietmechanisme toe aan hun project.

Tijdsindeling (3 uur)

TijdActiviteit
0:00 tot 0:10Terugblik sessie 2 + intro
0:10 tot 0:20Stap 1: schip bewegen (review)
0:20 tot 1:00Stap 2: schieten + kogels bewegen
1:00 tot 1:45Stap 3: collision vijanden
1:45 tot 2:15Stap 4: vijanden bewegen + game over
2:15 tot 2:45Dojo Defender: schietmechanisme toevoegen
2:45 tot 3:00Showcase + cliffhanger

Veelgestelde vragen

"bullets geeft een RuntimeError tijdens verwijderen" De ninja loopt over de originele lijst terwijl hij verwijdert. Laat bullets[:] (kopie) gebruiken.

“Mijn kogels verschijnen niet” Controleer of kogel.draw() in draw() staat (in de loop over bullets). Controleer ook of bullets leeg is bij de start.

"on_key_down wordt niet herkend" Dit is een Pgzero-callback: de functie moet exact zo heten. Controleer typo’s.


Hints voor Stretch en Expert

Stretch: collision: De geneste loop (kogels × vijanden) is de kern. Leg uit waarom je break nodig hebt na het verwijderen, anders crasht Python omdat je de bullets-lijst al gewijzigd hebt terwijl de innerlijke loop verder loopt.

Expert: vijanden bewegen: Gebruik de bestaande timer-variabele. Leg uit dat % 90 elke 90 frames triggert, wat bij 60 fps neerkomt op 1,5 seconde per stap.


Cliffhanger-script

“Volgende keer: geen aliens, maar een klassieke uitdager: PONG. Twee spelers, één bal, en je leert de échte pygame-manier van programmeren.”


Dojo Defender vandaag

Ninjas die meedoen met Dojo Defender voegen vandaag schieten en vijanden toe aan hun S1-project.

Tijdsverdeling: besteed ~45 min aan Dojo Defender na de reguliere S3 content.

Stappen:

  1. Open de S2-starter (kopie van de S1-oplossing).
  2. Stap 1-2: schieten met SPATIE en cooldown.
  3. Stap 3: vijanden spawnen.
  4. Stap 4: collision + waves.

Starter: dojo-defender-s3-starter.zip Oplossing: dojo-defender-s3-solution.zip Werkblad: /dojo-defender/session-2/

Let op: Ninjas die S1 misten, hebben de S1-oplossing nodig als starting point.