← Alle oefeningen
Scratch

Steady Hand Maze

Maak in Scratch een doolhofspel waarin je met de muis door het labyrint navigeert zonder de randen te raken.

Steady Hand Maze

Afbeelding

Lukt het jou om door het doolhof te navigeren zonder de randen te raken? Een stevige — niet bibberende — hand is nodig hier!

Verwijder de kat

Die kat hebben we niet nodig, verwijderen maar!

Afbeelding

  • Rechtermuis klik op de kat
  • Kies verwijderen

Klaarmaken voor de start

We hebben reeds een aantal dingen voor jou voorbereid. Je kan het startprogramma downloaden via deze link:

https://drive.google.com/open?id=1kWXTyZ5qqvDCDCtbsYBeHwV-_UUbmAmu

  • Ga naar Scratch.
  • Klik op “Uploaden” in de rechterbovenhoek
  • Kies de net gekozen achtergrond via 'upload achtergrond'. Kies het project dat je net gedownload hebt in je Downloads map. Het project heet 'Dodge Monster_Start Project'.

Afbeelding

  • Je zou nu de achtergrond en de sprites moeten zien staan! Lukt dit niet: vraag dan even hulp!

Het speelveld

  • Klik op het speelveld links onderaan
  • Klik nu rechts bovenaan op Achtergronden
  • Je ziet hier nu al twee achtergronden staan: achtergrond 1 en start.
  • Je kan achtergronden zelf maken door links onderaan bij Speelveld op de grote blauwe knop te gaan staan met je muis en vervolgens op klikken te 'tekenen'. Dit kan je straks eventueel doen, als je nieuwe levels wil!

Afbeelding

Afbeelding

  • Klik nu terug op Code: Op het moment dat we op de groene vlag klikken, willen we het start scherm tonen. Dit doen we zo:
    • Wanneer op de groene vlag wordt geklikt
  • o Verander achtergrond naar start
  • Werkt dit? Testen maar!

De startknop

Er staat ook al een startknop klaar in het programma. Deze gaan we ook programmeren:

  • Klik op de Start sprite. Een sprite is een object of personage in je spel.
  • Vervolgens gaan we ervoor zorgen dat:
  1. Wanneer op de groene vlag wordt geklikt, verschijnt de knop.

Afbeelding

Dit zijn de blokken die je hiervoor nodig hebt, je kan ze vinden in de categorie Besturen en in de categorie Uiterlijken.

Afbeelding

  1. Wanneer we op de knop klikken
  • zetten we de variabele Level gelijk aan 1:
  • Maak een variabele Level nummer - dit kan je doen in de categorie Variabelen

Afbeelding

  • Zet de variabele Level nummer gelijk aan 1 - dit kan je doen met de blok [maak variabele ..] uit de categorie Variabelen
  • verdwijnt hij
  • zenden we een signaal 'Start' naar level 1 om het spel te starten

Afbeelding

Via het pijltje kies je voor “Nieuw bericht”.

Typ vervolgens “Start” en klik op OK.

Dit zijn de blokken die je hiervoor nodig hebt, je kan ze vinden in de categorie Besturen, Variabelen en Uiterlijken.

Afbeelding

Vergeet niet te testen of dit werkt!

Een level starten

Als we een level willen starten, hebben we een stuk code die zegt: verander achtergrond naar achtergrond nummer X:

  • Klik terug op het speelveld om naar de code van het speelveld te gaan.
  • Codeer nu het volgende:
    • Wanneer ik de boodschap 'Start' ontvang:
  • Verander achtergrond naar achtergrond 1

De blokken die je hiervoor nodig hebt, vind je hieronder:

Waarom moet de variabele level nummer gebruikt worden bij het blokje 'verander achtergrond naar 1' ?

Programmeurs zijn lui en denken verder dan 1 level of achtergrond. We stoppen welk level we willen in een variabele. Als we dan nieuwe levels toevoegen, hoeven we enkel de waarde in de variabele te veranderen, en zal onze achtergrond daarin veranderen.

Afbeelding

Ook hier: niet vergeten om even te testen of het werkt!

De muispointer

De bedoeling is dat we door het labyrint bewegen met onze muisaanwijzer en proberen het einde te bereiken. Het einde is aangeduid door het gele bolletje.

We gaan dit coderen met volgende stappen:

  • Klik rechtsonder op 'Teken een sprite':
  • Klik nu op het
  • Kies voor de kleur zwart

Afbeelding

Afbeelding

  • Kies het vierkant

Afbeelding

Afbeelding

  • Teken een heel klein vierkantje in het midden van het tekenveld
  • Geef je sprite de naam 'Muis'. Dit doe je rechtsonder:

Afbeelding

Door het labyrint bewegen

We willen door het labyrint bewegen en een melding krijgen als we de blauwe rand raken. We willen ook een melding krijgen als we het level uitgespeeld hebben.

We willen dat onze 'Muis' sprite onze echte muisaanwijzer volgt

  • Klik op je 'Muis sprite'
  • Programmeer de volgende stappen:
  • Wanneer ik het signaal start ontvang:
  • Toon de Muis Sprite
  • Herhaal oneindig: Ga naar de muisaanwijzer

Dit zijn de blokken. Denk goed na welke blokken in de herhaallus moeten en welke niet!

Afbeelding

Dit kan je moeilijk testen, omdat we onze muisaanwijzer ook zwart hebben gemaakt. Je kan hem ofwel eventjes wit maken om te zien of het werkt OF je kan eerst nog stapje 2 en 3 maken en dan pas testen.

Als we de blauwe rand raken: GAME OVER

We gaan een ALS-DAN lus toevoegen aan de code hierboven. Dit doen we in de herhaallus:

  • Herhaal oneindig:

    • ALS raak ik kleur blauw DAN:
  • Zend signaal Game Over. Maak hiervoor een nieuw bericht aan

  • Stop dit script

De juiste kleur kiezen is hier heel belangrijk. Kijk hieronder naar de blokken en wat uitleg hoe je dit kan doen!

Afbeelding

Als we de gele bol raken: GEWONNEN

Op dezelfde manier gaan we programmeren dat we gewonnen hebben:

  • Herhaal oneindig:
    • ALS raak ik kleur geel DAN:
  • Start Geluid 'pop'. Je vindt de blok 'start geluid' in de categorie Geluid. Je kan ook een ander geluid kiezen, vind jij hoe?
  • Stop dit script

Werkt je code?

Game over

Nu stopt ons spel heel plots als we een fout maken en de rand raken.

We willen graag dat we dan terug op het startscherm terechtkomen natuurlijk. Daarvoor moeten we twee dingen doen:

Bij de Sprite “Start”

  • Wanneer ik het signaal GAME OVER ontvang : verschijn

Afbeelding

Bij het speelveld

  • Wanneer ik het signaal GAME OVER ontvang : toon achtergrond start

Afbeelding

Testen en spelen is nu de boodschap !

Klaar!

Uitbreidingen

Er zijn oneindig veel coole uitbreidingen! We zetten er een aantal op een rij:

  1. Voeg levels toe
  2. Voeg een klok toe die aftelt
  3. Voeg objecten toe die je extra tijd geven

Meer info vind je op: https://drive.google.com/file/d/1lr7aK1kENUMaol6jfVDm7KiilUBNaEj1/view?usp=sharing