Sessie 4: Coach-notities
Doel van deze sessie
Na de Basic checkpoint kan een ninja:
- Uitleggen wat de pygame game loop is en hoe die verschilt van pgzrun.
- De bal laten bewegen en stuiteren op boven- en onderrand én op beide paddles.
- Begrijpen wat
pygame.Rectis en hoecolliderectwerkt.
Dit is de eerste sessie met echte pygame; verwacht verwarring over de game loop. Dat is normaal.
Voorbereiding
- Starter ZIP klaar. Test op de dojoruimte-laptop of pygame geïnstalleerd is (niet pgzero).
- Bereid een korte uitleg voor: “pgzrun deed de loop voor ons. Nu doen we het zelf.”
- Dojo Defender: ninjas migreren hun project ook naar pygame (starter bevat de basis).
Tijdsindeling (3 uur)
| Tijd | Activiteit |
|---|---|
| 0:00 tot 0:15 | Terugblik + uitleg pygame vs pgzrun |
| 0:15 tot 0:45 | Stap 1 tot 2: bal bewegen + stuiteren |
| 0:45 tot 1:30 | Stap 3: score bijhouden |
| 1:30 tot 2:00 | Stap 4: win-conditie + snelheid |
| 2:00 tot 2:30 | Dojo Defender: pygame migratie |
| 2:30 tot 2:50 | Showcase: 1-vs-1 potjes |
| 2:50 tot 3:00 | Cliffhanger |
Veelgestelde vragen
“De bal beweegt maar verdwijnt meteen”
ball_dx en ball_dy zijn 0. De ninja heeft de startwaarden niet veranderd. Wijs op de regel ball_dx, ball_dy = 0, 0.
“De paddle gaat door de rand”
Voeg grenzen toe: if paddle.top > 0: voor omhoog, if paddle.bottom < HEIGHT: voor omlaag.
“Het scherm wordt niet ververst”
pygame.display.flip() ontbreekt of staat buiten de loop. Controleer de inspringing.
Hints voor Stretch en Expert
Stretch: score:
Reset de bal naar het midden na elk punt: ball.center = (WIDTH // 2, HEIGHT // 2). Wissel de richting van ball_dx zodat de verliezende speler de bal terug krijgt.
Expert: AI paddle:
Een simpele AI: if right_paddle.centery < ball.centery: right_paddle.y += 4 en omgekeerd. Beperk de snelheid zodat de AI niet perfect is.
Dojo Defender vandaag
DD Sessie 3 — De starter is een complete port van DD S2 (pgzero) naar raw pygame. Ninja’s verkennen de code, voegen een restart (R) toe, en daarna geluid. Zie coach-notities voor de volledige tijdsindeling.
Als een ninja de Pong-starter en DD starter allebei wil doen: Laat ze focussen op één van de twee. DD is de moeilijkere optie — geschikt voor ninja’s die Pong snel begrijpen of eerder zijn begonnen.
Geluid in DD: De sounds staan in _shared/dojo-defender-assets/sounds/. Ninja’s kunnen ze kopiëren naar hun eigen sounds/ map. Of download de oplossing.
Cliffhanger-script
“Volgende keer beukt de bal stenen kapot, en je hoort het ook. Breakout, met echt geluid.”