Lesdoelen
- De leerling kan een flowchart tekenen van het volledige spelverloop: start, drie ballen, een sensor-event per treffer, balverlies-detectie en game-over. LPD 20
- De leerling kan de variabelen score en ballen correct initialiseren (vóór de lus, niet erin) en tijdens het spel bijwerken. LPD 20
- De leerling kan een sensor-event afhandelen met ontdendering, zodat elke treffer precies één keer telt. LPD 20
- De leerling kan het scorebord live laten meebewegen met de score-variabele en balverlies herkennen via de drain-sensor. LPD 22
Lesverloop (5 lesuren)
| Blok | Duur | Fase | Wat gebeurt er |
|---|---|---|---|
| 1 | 15 min | Instap | Terugblik: de kast van vorige week is bekabeld maar "dom" — een LED brandt niet vanzelf bij een treffer. Vraag: hoe wéét de kast straks dat je verloren hebt? Vandaag bouwen we het brein. |
| 1 | 45 min | Instructie | Klassikaal het flowchart-schema doorlopen (zie hieronder): start → ballen/score initialiseren → wachten op elke sensor → balverlies? → volgende bal of game-over. Iedereen tekent zelf mee op papier — dit wordt je bouwplan voor de rest van de week. |
| 2 | 50 min | Zelfstandig | Tussendoel: variabelen + score-events werken. Score- en ballen-variabele aanmaken, score-sensoren omzetten naar "verander score met …" mét ontdendering (korte blokkeertijd na elke trigger). |
| 3 | 50 min | Zelfstandig | Tussendoel: het display leeft mee. Na elke score-aanpassing meteen "toon score op display" — test met de vinger op de sensor: telt hij precies één keer per tik? |
| 4 | 50 min | Zelfstandig | Tussendoel: balverlies werkt. De drain-sensor herkennen, "verander ballen met -1", en de check "als ballen = 0 dan game-over-show" bouwen (zie blokcode hieronder). |
| 5 | 35 min | Testen | Speel drie volledige ballen op je eigen kast: klopt de score bij elke sensor? Stopt het spel na precies drie ballen? Wie klaar is: eerste sterretjes-doel verkennen (vooruitblik week 32). |
| 5 | 15 min | Afsluiting | Logboek: foto van je flowchart + een filmpje/foto van een score-moment. Opruimen, XP-moment. |
Instructie: eerst de flowchart, dan de code
1 · Flowchart van het hele spel
Elke pijl in dit schema wordt straks een blok of een groepje blokken in mBlock. Volg de lijnen: bij elke sensor-treffer kom je terug bij "wacht tot sensor", tot de bal in de drain valt — dán pas telt er een bal af.
Print- of papierversie: laat leerlingen dit schema eerst zelf natekenen (met eigen pijlen) vóór ze het overtypen naar mBlock — dat voorkomt "blok voor blok" programmeren zonder overzicht.
2 · De bouwstenen in code
- Variabelen vóór de lus: score en ballen worden precies één keer gezet, bij de start — niet bij elke ronde van de lus (denkvraag 4 uit het Blokkenboek).
- Sensor-event + ontdendering: na elke trigger een korte "wacht 0,2 s" vóór de sensor opnieuw gelezen wordt, anders telt één treffer soms dubbel of driedubbel.
- Display-update: zet het "toon score op display"-blok meteen ná elke "verander score met …" — zo loopt het scorebord altijd gelijk met de werkelijke score.
- Drain-sensor: dezelfde sensortechniek als je score-sensoren, maar dan in de uitvalgoot — geen punten, wel "verander ballen met -1".
wacht tot drain-sensor = geraakt
verander ballen met -1
als ballen = 0 dan
speel game-over-jingle op pin 8
toon "GAME OVER"-patroon op LED's
Oefen dit eerst als blokpuzzel 5 in het Blokkenboek (spelstart) — de balverlies-logica hierboven is de natuurlijke vervolgstap.
Waarom ontdenderen zo belangrijk is
Een mechanische sensor "trilt" bij het indrukken enkele milliseconden na tussen aan en uit — zonder
ontdendering telt de Arduino dat als 5 of 10 treffers in plaats van 1. Een korte wachttijd (0,15-0,3 s) na
elke trigger lost het op. Zie ook de instructiekaart van week 23.
Opdrachten
Kernopdracht (iedereen)
- Teken de flowchart van het hele spel op papier.
- Maak de variabelen score en ballen aan, initialiseer ze vóór de lus.
- Programmeer elke score-sensor als event met ontdendering.
- Koppel na elke score-aanpassing meteen de display-update.
- Bouw de balverlies-logica: drain-sensor → ballen -1 → check op 0.
- Test: speel 3 volledige ballen. Klopt score én game-over?
Basis-pad
Werk met 1 score-sensor (vaste +10) en 1 drain-sensor. Gebruik het voorbeeldschema hierboven letterlijk als bouwplan — elke rechthoek wordt één stukje code, in dezelfde volgorde als het schema.
Uitbreidingen
- Verschillende puntenwaarden: elke sensor een eigen aantal punten (bumper = 10, poortje = 25).
- Voorproefje combo's: noteer op papier hoe je twee sensoren "kort na elkaar" zou kunnen herkennen — volgende week bouw je dit echt.
- Eigen game-over-animatie: een uniek LED-patroon dat alleen bij game-over verschijnt.
Materiaal deze week
- Eigen kast van elke leerling, elektronica bekabeld en getest (week 30)
- Pc's met mBlock, upload naar de eigen kast vooraf getest
- Blanco papier + potlood voor de flowchart-schets, per leerling
- Het Blokkenboek open op de variabelen- en controle-familie
- Bijgewerkte schema's van week 30 terug uitdelen als referentie voor pin-nummers
Leerkracht-hoek
- Klassieke fout #1: "zet score op 0" ín de eeuwige lus in plaats van ervoor — de score wordt dan elke ronde gewist. Herken je dit aan een score die altijd op 0 blijft staan? Verwijs naar denkvraag 4 in het Blokkenboek.
- Klassieke fout #2: geen ontdendering, waardoor één treffer tien punten in plaats van tien geeft. Laat leerlingen bewust de wachttijd wéglaten en het probleem zelf zien, dan pas de oplossing aanreiken — dat blijft hangen.
- Timing: deze week is dicht. Wie na blok 3 nog geen werkend display heeft, focust in blok 4 eerst op de balverlies-logica (die is meer waard voor de speelbaarheid) en werkt het display af als huiswerk of in blok 5 van week 32.
- Differentiatie: sterke leerlingen die alles snel voor elkaar krijgen, mogen alvast een vaste bonuswaarde per sensor bedenken — dat is precies waar week 32 mee verdergaat.
- Vooruitblik: volgende week bouwen we hierop verder met high-score, combo's, attract-mode en de startknop-flow.
Side quests die hier mooi bij passen
Debug-Detective (leerkracht saboteert de ontdendering: los het op) ·
Helper (een klasgenoot helpen met de balverlies-logica) ·
Verslaggever (de flowchart als glashelder schema in het logboek).