10. Simon

Simon

Iedereen kent wel het Simon-spel: je moet onthouden in welke volgorde de verschillende kleuren (en bijhorende geluidjes) worden afgespeeld. Het wordt steeds moeilijker omdat het aantal kleuren steeds wordt uitgebreid. Wie haalt de hoogste score?!

Wij maken zelf onze Simon! De vorm? Die bepaal je ook deze keer zelf! Wie maakt de meest originele Simon-versie?

Je leert vandaag werken met lijsten.

Meld je eerst aan vooraleer je aan de oefening begint. Klik op de onderstaande knop en meld je aan.

klik hier

ORIËNTEREN

Bekijk het voorbeeld en denk na over de volgende vragen:

  • Wat moet ik doen?
  • Wat zijn de doelen?
  • Wat zijn de verwachtingen?
  • Wat kan ik al?
  • Wat moet ik nog ontdekken?

Druk op de groene vlag om het spel te spelen. Kijk naar de haai en onthoud in welke kleuren hij verandert. Druk op dezelfde kleurknoppen in de juiste volgorde. Opgelet: het volgende level start onmiddellijk!

VOORBEREIDEN

Bekijk de stapjes bij 'uitvoeren'. Beantwoord nadien de volgende vragen:

  • Welke stappen moet ik volgen?
  • Welke stappen mag ik volgen?
  • Hoeveel tijd heb ik nodig?
  • Welke hulpmiddelen heb ik nodig?

UITVOEREN

Voer de stappen één voor één uit. Weet je even niet meer hoe het moet? Bekijk de hints of download de oplossing.

STAP 1

We maken een sprite die verschillende kleuren kan aannemen. De speler van onze 'game' moet dan onthouden in welke volgorde de verschillende kleuren tevoorschijn zijn gekomen. Open de online Scratch-editor en verwijder de kat. Kies een sprite die jij wel cool vindt. Zoek er een bijhorende achtergrond bij.

uitdaging

Bij de sprite die wij kozen zie je standaard drie verschillende uiterlijken staan, weliswaar in dezelfde kleuren. Kan je voor elke kleur die je straks zal kiezen ook een verschillend uiterlijk nemen?

STAP 2

We vertrekken vanuit de 4 originele 'Simon' kleuren:

  1. Rood
  2. Blauw
  3. Groen
  4. Geel

Je sprite geef je dan 4 verschillende uiterlijken, telkens in een andere kleur. Dit doe je eenvoudig met het 'emmertje' in het tabblad 'uiterlijken'.

1

STAP 3

Om de willekeurige volgorde van de kleuren te bekomen moeten we een "lijst" maken. Een lijst is een variabele die veel gegevens kan opslaan. Deze lijst noem je bijvoorbeeld 'volgorde'.

Je ziet nu in je speelveld een lege lijst en een hele resem nieuwe blokken bij 'Variabelen':

2

Dan koppel je de code aan je sprite om 5 keer een willekeurig nummer aan je lijst toe te voegen:

3

Test het eens!

uitdaging

Als er twee maal dezelfde kleur na elkaar komt, is het moeilijk voor je speler om dat te ontdekken. Dat kan verholpen worden door aan elke verandering van uiterlijk een kort geluidje te laten afspelen. Te eenvoudig voor jou? Tracht voor elk uiterlijk van je sprite een apart geluidje te laten horen.

STAP 4

Nu voeg je vier sprites toe, elk in een van de vier kleuren.

4

Als je op een van de knoppen klikt, moet er een signaal gezonden worden:


Als je sprite dit ontvangt, dan moet deze nagaan of dit gelijk is aan de nummer 1 aan het begin van de lijst. Is dat zo, dan wordt dat verwijderd uit de lijst, anders is het 'game over'.

uitdaging

Nu moet je zelf voor de andere knoppen dezelfde code schrijven! Let goed op welke sprite er een code moet zenden en welke sprite deze code moet ontvangen...

Maak nu ook geluiden telkens je een knop aanklikt.

STAP 5

Vijf kleuren onthouden, dat lukt meestal wel. Het volgende level is echter met een wisselende lengte van je volgorde! Maak hiervoor een nieuwe variabele:

8

Deze score dient om te bepalen hoeveel wisselende kleuren de speler ziet. We zullen eenvoudig starten met 2 kleurtjes in het eerste level.

Voeg dit toe aan de code die je al hebt voor jouw 'hoofdsprite':

9

In plaats van 'herhaal 5 keer' gaan we nu:

10

De score zal dus bepalen hoeveel kleuren er verschijnen.
Dus moeten we de score laten verhogen met "1" om de lengte van de volgorde te verhogen:

11

Dat alles moet je in een 'herhaal'-lus zetten.

12

Verberg nu de 'volgorde'-lijst.

13

Test het spel van een mede-Codeklasser uit! Wie behaalt de hoogste score?

STAP 6

Hoe cool zou het zijn om die hoogste score ook op te slaan? Voeg twee variabelen toe: "high score" en "naam".

Het idee achter de hoogste score is van zodra het spel eindigt, moet de pc kijken of die score hoger is dan de huidige hoogste score. Als dat zo is, moet de pc die score aanpassen en de naam van de speler vragen.

highscore

Deze code moet je bij de vier kleuren toevoegen (de codeblokken die beginnen met "wanneer ik signaal...ontvang".)

uitdaging

We maken nog enkele aanpassingen om het spel wat aangenamer te maken.

  • Als je op een knop klikt, licht die even op (helderheid). Zo krijg je het gevoel dat je echt op de sprite geklikt hebt.
  • Als je geen geluid wil toevoegen om aan te duiden dat je van sprite verandert, kan je dit ook doen door de helderheid kort hoger te zetten. Als dan twee keer dezelfde kleur komt, zie je de sprite twee keer flitsen.

Maak je meerdere levels? Hoe zou de moeilijkheidsgraad kunnen aangepast worden?

goedgedaan    

Goed gedaan!

REFLECTEREN

Blik terug op het project dat je net maakte. Stel jezelf de volgende vragen:

  • Werkt het programma zoals ik had verwacht? Waarom wel/niet?
  • Wat werkt goed?
  • Wat werkt minder goed?
  • Hoe kan ik het anders aanpakken?

Download

Klik op de onderstaande link om een voorbeeldoplossing te downloaden. 


Laad het project op in de Scratch-omgeving. Klik op de onderstaande knop en volg de stappen.

Klik hier