Galgje

Galgje

Het spel ‘galgje’ is jullie ongetwijfeld bekend. In een aantal pogingen probeer je een woord te raden.
Wanneer het mannetje op de tekening volledig is getekend, zijn de pogingen opgebruikt en ‘hang’ je.

Je leert:
•    Eigen blokken maken
•    Eigen blokken definiëren
•    Een ‘helper’ vormgeven
•    Een hulpvariabele maken
•    Het uitzicht van een variabele veranderen
 

Druk op de startknop om het spel te spelen. Geef per poging een letter op om zo het woord te proberen raden.

STAP 1.

Open de online-editor en verwijder de kat. Weet je zelf waarmee je alvast kan beginnen?

1

STAP 2.

Door jullie voorkennis is het alvast mogelijk om de achtergronden en enkele sprites (deels) te programmeren (galgje, startknop, knop ‘nieuw spel’). Bedenk zelf wat je de sprite wil laten uitvoeren om het spel te laten werken zoals in het voorbeeld.

STAP 3.

In deze stap leren we een eigen blok maken en definiëren. Dit kan je doen bij tabblad 'code' en daarna ‘Mijn blokken’. Maak het blok ‘Begin’ aan. Uiteraard zal je de computer stapsgewijs moeten uitleggen wat je met dit blok bedoelt (definieer ‘Begin).

3

Weet je wat het doel is van zo’n eigen blok aanmaken? Het zorgt ervoor dat een langere code overzichtelijk blijft. De blokjes onder ‘definieer’ worden samengevoegd in slechts één blokje nl. het blokje ‘begin’.

Definieer het blok ‘begin’ als volgt:

4

Opgelet: in de code is een lijst ‘woordenlijst’ opgenomen. Verzin zelf woorden die kunnen geraden worden (ongeveer 10). Hou in je achterhoofd dat de woorden hetzelfde aantal letters moet bevatten dan de hokjes die je voorziet in het spel (5 in het voorbeeld).

Kan je zelf vinden hoe je woorden in de woordenlijst kan toevoegen?

toelichting

5

Niet elke variabele hoeft zichtbaar te zijn in het speelveld. Een variabele kan je onzichtbaar maken door het vinkje te verwijderen. In het voorbeeld zal de variabele ‘pogingen’ onzichtbaar zijn, de variabele ‘aantalpogingen’ is aangevinkt en bijgevolg zichtbaar in het speelveld.

Kan je in eigen woorden uitleggen wat het resultaat zal zijn van het programma 'Definieer begin'?

Nu kan je het begin-blok invoegen in de code die je toekent aan het signaal ‘nieuw spel’. Vraag jezelf even af wat er nog vasthangt aan dit signaal. Durf ook hier een langere code om te zetten in één nieuw zelf-aangemaakt blok.

Het is natuurlijk heel moeilijk om zelfstandig de paarse blokken te definiëren. Hieronder krijg je een idee van hoe de codes eruit moeten zien:

Definieer 'verwerk antwoord':

Definieer 'verwerk fout antwoord':

Wanneer de speler een letter ingeeft die niet in het woord voorkomt, wordt het signaal ‘foute letter’ verzonden. Het galgje krijgt een ander uiterlijk en de speler is nu een poging kwijt. Wanneer de speler al z’n pogingen heeft verspeeld, komt het juiste woord tevoorschijn, als ook de boodschap ‘verloren’. Het spel is nu uitgespeeld. Wanneer nog niet alle pogingen zijn opgebruikt, wordt een signaal ‘update’ verstuurd.

Definieer 'verwerk juist antwoord':

Wanneer de speler een letter ingeeft die wel in het woord voorkomt, wordt het signaal ‘update’ verzonden. Als alle letters zijn geraden komt de boodschap ‘gewonnen’ tevoorschijn. Het spel is nu uitgespeeld.

Maak de variabelen aan die je nodig lijkt te hebben. De variabelen in ‘pogingen’ en ‘toon woord’ mogen voor alle sprites gelden; de anderen ‘enkel voor deze sprite’.

STAP 4.

De laatste stap is het programmeren van de helper. De helper is een zelfgekozen sprite, die we onzichtbaar maken tijdens het spel. We richten deze sprite in om de code te scheiden van de andere sprites, omdat de code in principe geldt voor het hele spel en niet voor één sprite. Dit doe je zo:
Voeg een sprite toe. Geef hem de naam ‘Helper’. Klik op de ‘i’ van informatie.

helperinfo

Klik op het vinkje bij ‘toon’. De helper is nu niet meer zichtbaar.

10

Bij de helper maken we een programma dat ervoor zorgt dat de geraden letters van het geheime woord tevoorschijn komen in de juiste variabele/kolom. Kan je bedenken wat je nodig hebt om deze code vorm te geven?

uitdaging

Welke zaken zou je zelf nog kunnen toevoegen om de speelbeleving optimaal te maken? Denk maar aan een high score, de inrichting van meerdere levels,...

goed gedaan!     Goed gedaan!