Kan jij Ruby helpen de uitgang van het doolhof te vinden? Het wordt een race tegen de tijd.

Oefening 1: Doolhof 2.0

In deze oefening werken we verder aan het doolhof.

Het eindresultaat

Project

Snor je vorige doolhof-project eens op en werk er in verder. Deze vind je terug in hoofdstuk één, deel 8, oefening 2. Momenteel kan Ruby in alle richtingen bewegen en kan ze ook van uiterlijk veranderen bij elke stap. We voegen nu het volgende nog toe:

  • Ruby loopt niet meer door de muren.
  • De tijd wordt bijgehouden en verschijnt bij het vinden van de appel. Zo kan je zien hoe snel iemand het doolhof oplost.
  • Wanneer Ruby de appel vindt, verdwijnt deze.

Stappenplan

Stap 1: Laat Ruby doorheen het doolhof bewegen

Zorg ervoor dat Ruby altijd start op de volgende coördinaten wanneer op de groene vlag wordt geklikt: go to x: "-10" y: "171"

En laat Ruby het volgende doen: als het pijltje wordt ingeduwd, neem 3 stappen in de juiste richting.

Stap 2

Zorg ervoor dat als Ruby de rand raakt, zij 3 stappen zet in de tegenovergestelde richting. Test dus eerst of Ruby een muur raakt. Gebruik daarvoor dit blokje: <touching color #123456?>

[TIP: Klik eerst op de kleur in het blokje en dan op een muur van het doolhof om de juiste kleur te selecteren.] Dit blokje wordt waar wanneer de sprite de geselecteerde kleur raakt.
Stap 3

Zorg er nu voor dat Ruby van uiterlijk verandert bij elke stap die ze zet.

Stap 4: Even testen

Doe stappen 1 tot en met 4 voor alle pijltjestoetsen. Neem nu even de tijd om alles eens te testen en te kijken of dit al werkt.

  • Beweegt Ruby in alle richtingen?
  • Verandert Ruby steeds van uiterlijk bij elke stap die ze zet?
  • Kan Ruby nog doorheen de muren lopen?
Stap 5: Voeg een beloning toe

Voeg een nieuwe sprite toe! Kies bijvoorbeeld de appel en plaats deze aan de uitgang van het doolhof.

[TIP: je kan met je muis de appel gewoon slepen naar de juiste plaats.]
Stap 6

Zorg ervoor dat de appel zichtbaar is zodra je op de groene vlag klikt.

Stap 7

Zorg ervoor dat de appel verdwijnt wanneer Ruby de appel raakt. Je kan hiervoor signalen gebruiken. Controleer bij elke stap die Ruby zet of Ruby de appel raakt. Gebruik daarvoor volgend blok:

<touching [Appel]?>

Als Ruby de appel raakt, laat je Ruby nog iets zeggen, speelt er een geluidje af en verdwijnt de appel.

Stap 8: Even testen

Neem even de tijd om te kijken of alles wat je tot nu toe hebt toegevoegd ook echt werkt.

  • Staat de appel bij de start steeds op de goede plaats?
  • Verdwijnt de appel als Ruby hem raakt?
  • Speelt er een leuk geluidje wanneer Ruby de appel raakt?
Stap 9: Voeg de tijd toe

We gebruiken twee nieuwe blokken:

Blok Uitleg
reset timer Zet de waarde van een klok op 0. Daarna start die weer met het tellen van de tijd.
(timer) Hierin vind je de waarde van de klok terug.

Wanneer op de groene vlag geklikt wordt, willen we dat de klok terug op 0 start.

Stap 10

Maak een variabele tijd en zorg er voor dat wanneer de appel geraakt wordt de waarde van de klok gegeven wordt aan onze variabele. Gebruik dus het volgende blokje:

(timer)

[TIP: Vergeet niet om jouw variabele bij het begin van het spel weer op 0 te zetten.]
Stap 11

Zorg er voor dat jouw variabele zichtbaar is op het scherm. Ga naar het palet Variabelen en klik op het kleine vierkantje naast jouw variabele om er voor te zorgen dat die op het scherm te zien is.

Evaluatie

Tijd om alles nog eens te testen om zeker te zijn dat alles goed werkt.

  • Beweegt Ruby in alle richtingen?
  • Verandert Ruby steeds van uiterlijk bij elke stap die ze zet?
  • Kan Ruby nog door de muren heen lopen?
  • Is de Appel bij de start van het doolhof steeds op de goede plaats?
  • Verdwijnt de Appel als Ruby hem raakt?
  • Speelt er een leuk geluidje wanneer Ruby de Appel raakt?
  • Zie je de score op het scherm?
  • Is de score elke keer 0 bij het begin van een nieuw spel?
  • Zie jij jouw score wanneer Ruby de Appel heeft geraakt?

Oplossing

De oplossing vind je hier!

file_downloadDownload

cloudScratch-Studio



Heb je de oefening al helemaal af? Zeer goed gedaan! Er staan nog een paar leuke oefeningen klaar. Ik kan niet wachten!