In dit deel leren we herhaling te combineren met een beslissing.
Testen, testen en nog eens testen
In het palet Besturen kan je onderstaande blokken terugvinden.
Blok | Uitleg |
---|---|
forever;
|
Alles wat in dit blokje staat zal steeds herhaald worden. Deze herhaling stopt dus niet vanzelf! |
if <>;
|
Test de uitspraak en als het resultaat waar is zullen alle blokken binnen dit blokje uitgevoerd worden. |
We hebben al geleerd hoe je deze blokken apart kan gebruiken in een programma. Maar je kan deze blokken ook samen gebruiken om zo beslissingen te nemen binnen een herhaling.
Een klein voorbeeldje
when greenflag clicked
forever
if <key [right arrow] pressed?>
change x by {5}
end
De sprite moet naar rechts bewegen telkens het pijltje naar rechts wordt ingedrukt. Alles binnen het herhalingsblokje wordt steeds uitgevoerd, maar de test zorgt ervoor dat de sprite enkel naar rechts beweegt als er op de juiste toets gedrukt wordt.
En nu aan de slag
- Maak het voorbeeld eens na in Scratch.
- Pas het voorbeeld aan op de volgende manier:
- Pas de code aan om ook naar links te bewegen. Dit zou er als volgt moeten uitzien:
when greenflag clicked forever if <key [left arrow] pressed?> change x by {5} end
- Doe dit nu ook voor de overige richtingen (boven en onder). In totaal zou je dus zo vier grote blokken moeten hebben. [HINT: denk eraan dat je nu de y-richting moet gebruiken.]
- Testen!
- Start het project met de groene vlag en duw op het pijltje naar boven en naar rechts tegelijk. Beweegt de sprite nu diagonaal?
- Pas de code aan om ook naar links te bewegen. Dit zou er als volgt moeten uitzien:
- Games
- Bovenstaande herhaallus samen met testen wordt vaak gebruikt in spelletjes om steeds op tijd te reageren wanneer er iets gebeurt.
- Je kan al in alle richtingen bewegen, zelfs diagonaal! Zorg er nu voor dat elke keer wanneer je de rand raakt, Ruby zegt dat je wat beter moet oppassen. Gebruik opnieuw zo een herhaallus met een als blokje.