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

  1. Maak het voorbeeld eens na in Scratch.
  2. Pas het voorbeeld aan op de volgende manier:
    1. 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

    2. 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.]
    3. Testen!
      1. Start het project met de groene vlag en duw op het pijltje naar boven en naar rechts tegelijk. Beweegt de sprite nu diagonaal?
  3. Games
    1. Bovenstaande herhaallus samen met testen wordt vaak gebruikt in spelletjes om steeds op tijd te reageren wanneer er iets gebeurt.
    2. 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.

Geweldig! Klaar voor het volgende deel? Kom dan maar mee!