Week 32 · Programmeerweek 2: de finesse

Korte week (maandag 17 mei vrij — Pinkstermaandag, dus 4 lesuren), maar precies de week die een werkend spel verandert in een léuk spel. De basislogica van vorige week krijgt vier finishing touches: een high-score die onthouden blijft, bonus-combo's voor snelle spelers, een attract-mode die de kast tot leven wekt zodra niemand speelt, en een nette startknop-flow die alles aan elkaar knoopt.

LPD 20 · 22 missie: 35 XP · logboek: 10 XP

Lesdoelen

Lesverloop (4 lesuren — korte week!)

BlokDuurFaseWat gebeurt er
110 minInstapSpeel een kort filmpje van een echte flipperkast in attract-mode (lichten dansen, niemand speelt). Vraag: hoe "weet" die kast dat er niemand speelt? Vandaag bouwen we dat gevoel zelf.
120 minInstructieDe vier finesses op het bord: high-score (vergelijken vóór overschrijven), bonus-combo (een kort tijdvenster tussen twee sensoren), attract-mode (lichtshow ná een stille periode) en de startknop-flow die alles verbindt. Blokcode-voorbeeld high-score (zie hieronder).
120 minZelfstandigTussendoel: high-score werkt. Variabele highscore toevoegen, de vergelijking bouwen, en tonen bij het opstarten van een nieuw spel.
250 minZelfstandigTussendoel: minstens één bonus-combo. Kies twee sensoren die logisch bij elkaar passen (bv. twee bumpers) en bouw het tijdvenster: sensor A geraakt → kort venster open → ook sensor B geraakt binnen dat venster → bonus.
350 minZelfstandigTussendoel: attract-mode + startknop-flow. Lichtshow die start als er (bijvoorbeeld) 15 seconden niet gespeeld is, en die stopt zodra de startknop wordt ingedrukt. Daarna terug naar de volledige spellus van vorige week.
430 minVerdiepingWie alle vier de finesses heeft: kies een sterretjes-doel uit level5.html (pop-bumper, multiball, backglass…), een side quest, of help een klasgenoot (Helper-XP).
420 minAfsluitingLogboek: een kort filmpje van je attract-mode + een score die de high-score verslaat. Opruimen, XP-moment.

Instructie: vier finesses, één spel

1 · High-score: alleen overschrijven als het beter is

Een highscore-variabele werkt bijna hetzelfde als score, met één verschil: je overschrijft hem alleen als de huidige score hoger is. Zonder die vergelijking zou elke nieuwe (lagere!) score de oude recordscore wissen.

High-score bijhouden
als score > highscore dan
zet highscore op score

Zet dit blok meteen ná elke "verander score met …" — zo checkt de kast bij élke treffer of er een nieuw record is, niet pas bij game-over.

2 · Combo's, attract-mode & de flow

  • Bonus-combo: na een treffer op sensor A een kort "venster" openen (bijvoorbeeld: 1,5 s lang ook naar sensor B luisteren). Wordt B binnen dat venster ook geraakt, geef dan een extra bonus bovenop de gewone punten.
  • Attract-mode: tel hoeveel seconden er verstreken zijn sinds de laatste sensor-treffer of startknop-druk. Voorbij een drempel (bv. 15 s) start een herhalend lichtpatroon, dat stopt zodra de startknop wordt ingedrukt.
  • De volledige flow: attract-mode (niemand speelt) → startknop → spellus van week 31 (3 ballen, score, balverlies) → game-over-show → terug naar attract-mode. Eén grote lus om alles heen.

Denk in blokken die je al kent: een "venster" is niets anders dan een korte "wacht" gevolgd door een sensorcheck — dezelfde bouwstenen als in het Blokkenboek, nu slimmer gecombineerd.

Hoe meet je "kort na elkaar" zonder ingewikkelde code? Je hebt geen stopwatch-functie nodig: laat de kast na een treffer op sensor A gewoon een korte tijd (bijvoorbeeld 1,5 s) actief naar sensor B luisteren, met een "wacht tot ... of tijd verstreken"-opbouw. Wordt B op tijd geraakt: bonus. Anders: gewoon verdergaan. Simpel, en precies wat een echte flipperkast-programmeur ook doet — alleen met duurdere timers.

Opdrachten

Kernopdracht (iedereen)

  1. Voeg de variabele highscore toe en bouw de vergelijking.
  2. Toon de highscore ergens zichtbaar (bij opstart of naast de score).
  3. Bouw minstens één bonus-combo tussen twee sensoren.
  4. Bouw een attract-mode die start na een stille periode.
  5. Koppel alles tot één doorlopende flow: attract-mode → start → spel → game-over → attract-mode.
  6. Test: klopt de high-score na een record? Werkt de combo? Start de lichtshow op tijd?

Basis-pad

Focus op de high-score (kernvaardigheid variabelen + vergelijken) en een eenvoudige attract-mode (vast knipperpatroon zonder tijdklok, gewoon in de eeuwige lus vóór de startknop). De bonus-combo mag hier vervallen of huiswerk worden.

Uitbreidingen — sterretjes-doelen

  • Meerdere combo's: elk sensorpaar een eigen bonus-waarde.
  • Pop-bumper of multiball uit de sterretjes-doelen van level 5.
  • Helper-XP: een klasgenoot door de combo-logica of attract-mode-timing loodsen.

Materiaal deze week

Leerkracht-hoek
Side quests die hier mooi bij passen Helper (combo- of attract-mode-timing bij een klasgenoot) · Debug-Detective (attract-mode die niet stopt: waarom niet?) · Verslaggever (de vier finesses helder uitgelegd in het logboek).
Week 31 · Programmeerweek 1: de spellogica Week 33 · De grote testweek