Inleiding
Spelen om te leren is een behendigheidsspel waarbij de speler een snel bewegende bal dient aan te klikken. De ontwikkeling van dit spel wordt gebruikt om een aantal blokken, reeds behandeld in vorige lessen, te herhalen.
Spelen om te leren: Opdracht
In het spel willen we twee niveaus (levels) beschikbaar stellen. Nadat de speler de bal tienmaal heeft aangeklikt wordt de bal kleiner gemaakt waardoor de moeilijkheidsgraad wordt verhoogd. Daarna wordt het tellen hervat. Het spel eindigt als de speler, ook in de tweede ronde, de bal tienmaal heeft geraakt.
Wat is een gebeurtenis?
In het ‘normale’ leven komen regelmatig onverwachte gebeurtenissen (in het Engels event) voor. Je was aan het voetballen en het begint te regenen, je was aandachtig les aan het volgen en de bel rinkelt om het einde van de lesdag aan te duiden… Een bepaalde gebeurtenis leidt meestal tot een bepaalde actie(in het Engels action): je stopt met voetballen en gaat schuilen, je sluit al jouw boeken, schikt al jouw boeken in jouw rugzak en verlaat het leslokaal.
Het vaststellen van een gebeurtenis en de mogelijkheid om aan deze gebeurtenis een actie te koppelen is ook in de Scratch-programmeertaal beschikbaar.
Spelen om te leren: Algoritme
Gebeurtenissen
Zitten er gebeurtenissen in de beschrijving van het spel ‘Spelen om te leren’? De gebeurtenis ‘als je op het groene vlaggetje drukt’ kennen we al. In dit geval wordt het programma opgestart. De bal aanklikken is natuurlijk ook een gebeurtenis. In volgende paragrafen bekijken we de stappen die dan moeten worden gezet.
Variabelen
Het aantal punten behaald door het aanklikken van de bal moet worden geteld. Deze variabele kunnen we de naam Punten geven. Ook het niveau (in het Engels level) van het spel moet kunnen wijzigen (van niveau 1 naar niveau 2). Hier kiezen we voor de naam Level.
Wanneer wordt het niveau verhoogd?
De variabele Level wordt verhoogd als we de bal 10 maal hebben kunnen raken. Bij de start van het tweede niveau moet de variabele Punten terug op nul worden geplaatst.
Wanneer eindigt het spel?
Het spel bestaat uit twee niveaus. Het spel eindigt nadat de tweede Level volledig is afgewerkt.
Pseudocode
Voor elke gebeurtenis moet een afzonderlijke pseudocode worden aangemaakt.
Pseudocode wanneer op Groene Vlaggetje wordt geklikt
Level = 1
Punten = 0
Repeat Until Level > 2
verplaats de bal naar een willekeurige plaats
wacht 1 seconde
End Repeat
Pseudocode wanneer op de bal wordt geklikt
verhoog Punten met 1
If Punten = 10 Then
verminder de grootte van de bal
verhoog Level met 1
Punten = 0
End If
Spelen om te leren: Scratch-programma
Een nieuwe Sprite kiezen

We kunnen de mascotte verwijderen door op het vuilbakje te klikken bovenaan een actieve Sprite (zie rode pijl). Een nieuwe Sprite kan dan worden geselecteerd via de knop ‘kies een sprite’ (zie blauwe pijl onderaan deel E).

In de Scratch-programmeertaal zijn heel wat Sprites ingebouwd. Voor ons programma kiezen wij voor de Sprite Basketball.
Wanneer op het groene vlaggetje wordt geklikt
Deze gebeurtenis is gemakkelijk om te zetten naar een Scratch-programma:

Het blok
beveelt de actieve Sprite om een willekeurige positie op het podium op te zoeken.
Dit deel van het programma blijft oneindig lopen. De stopvoorwaarde waarbij de variabele Level groter wordt dan 2 wordt nooit bereikt (Level blijft op 1 staan en wordt nergens aangepast).
Wanneer op de bal wordt geklikt
In de categorie Gebeurtenissen is het blok
beschikbaar. Dit wordt het beginpunt van dit nieuwe script. De omzetting van de pseudocode naar Scratch levert weinig moeilijkheden op:

Het blok
(categorie Uiterlijken) reduceert de actieve Sprite tot de helft.
Verdere afwerking
Het programma ‘Spelen om te leren’ kan nu verder worden afgewerkt door een derde niveau (nog kleinere bal, kortere wachttijd) toe te voegen, door een andere achtergrond te kiezen en door de kleur van de Sprite bij het aanklikken te wijzigen
(categorie Uiterlijken). Ook kan worden geoefend met het toevoegen van geluid door middel van het blok
(categorie Geluid).