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.Rect is en hoe colliderect werkt.

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)

TijdActiviteit
0:00 tot 0:15Terugblik + uitleg pygame vs pgzrun
0:15 tot 0:45Stap 1 tot 2: bal bewegen + stuiteren
0:45 tot 1:30Stap 3: score bijhouden
1:30 tot 2:00Stap 4: win-conditie + snelheid
2:00 tot 2:30Dojo Defender: pygame migratie
2:30 tot 2:50Showcase: 1-vs-1 potjes
2:50 tot 3:00Cliffhanger

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.”