Wat leer je?
- Wat een variabele is en waarom je er een score mee bijhoudt
- Waarom "maak score 0" buiten je lus moet staan
- Het verschil tussen herhaal voortdurend en herhaal tot
- Botsingen herkennen met raakt ...? en de operator of
- Een spel eerlijk maar moeilijker maken naarmate de score stijgt
Wat heb je nodig?
- Een nieuw, leeg Scratch-project
- De sprite Bowl (de mand of schaal) — of een andere sprite als mand
- De sprite Apple (de appel)
- Eén geluidje, bijvoorbeeld Pop of Boing
Weet je niet meer waar de sprite-knop staat? Kijk even bij De werkplek.
Stap voor stap
Je werkt in dit project met twee sprites. Boven elk script staat daarom altijd duidelijk bij welke sprite het hoort — klik die sprite eerst aan, anders bouw je je blokken bij de verkeerde figuur. Vink een stap af als hij klaar is; je browser onthoudt dat.
Zet je twee sprites klaar
UiterlijkVerwijder de kat (klik op het prullenbakje op de kat-tegel rechtsonder). Klik daarna op de sprite-knop rechtsonder en zoek Bowl: dat wordt je mand. Voeg op dezelfde manier Apple toe. Je hebt nu twee sprites, en elke sprite heeft zijn eigen codegebied. Geef ze meteen een startpositie en een startgrootte, zodat elke ronde hetzelfde begint.
Sprite: Mand
Sprite: Appel
- Ik zie twee sprites: Mand en Appel
Bestuur de mand met links en rechts
BesturingKlik de sprite Mand aan. Sleep uit Besturing een "herhaal voortdurend" onder je startblokken, en zet daar twee "als ... dan"-blokken in. De zeshoekjes vul je met "toets ... ingedrukt?" uit Waarneming. In de mond van elk als-blok komt "verander x met ..." uit Beweging.
Sprite: Mand
- Mijn mand schuift heen en weer met de pijltjes
Testmoment — bestuurt je mand goed?
controleKlik op de groene vlag en hou de pijltjestoetsen ingedrukt. De mand hoort vloeiend naar links en rechts te schuiven. Werkt het niet? Loop deze lijst af:
- Heb je de sprite Mand geselecteerd toen je de blokken sleepte? Klik de sprite aan en kijk of je script er staat.
- Zitten de twee als-blokken écht in de mond van "herhaal voortdurend", of staan ze eronder? Sleep het hoedblok een stukje: alles moet meekomen.
- Beweegt de mand maar één klein stapje en dan niet meer? Dan is je "herhaal voortdurend" vergeten of los blijven zweven.
- Gaat de mand de verkeerde kant op? Dan staan +10 en -10 verwisseld.
- Klik eerst één keer op het speelveld voor je de pijltjes gebruikt — anders luistert je browser nog niet naar Scratch.
- De mand reageert netjes op links en rechts
Maak de variabele "score"
VariabelenKlik links op de oranje categorie Variabelen en dan op Maak een variabele. Typ als naam score en kies Voor alle sprites. Er verschijnt nu links een oranje bolletje "score", én linksboven op het speelveld een klein scorebordje.
- De variabele score staat op mijn speelveld
Zet de score op 0 — buiten de lus!
VariabelenKlik nu de sprite Appel aan; die krijgt de rest van het spel. Sleep "maak score 0" tot vlak onder het hoedblok. Dat blok hoort dus vóór je grote lus te staan — het is een startinstelling, iets wat maar één keer per spel gebeurt.
Sprite: Appel
- "maak score 0" staat vlak onder mijn hoedblok
Maak de variabele "levens" en zet ze op 3
VariabelenMaak op dezelfde manier een tweede variabele: levens, ook voor alle sprites. Zet ze bij de start op 3. Elk doosje bewaart één ding, dus je hebt echt twee aparte variabelen nodig: één voor je punten en één voor je kansen.
Sprite: Appel
- Score staat op 0 en levens op 3 bij de start
Laat de appel bovenaan verschijnen — op een willekeurige plek
BewegingSleep onder je startinstellingen een "herhaal voortdurend" uit Besturing. Zet daar als eerste "ga naar x: ... y: ..." in. In het x-vakje sleep je het ronde blokje willekeurig getal tussen ... en ... uit de groene categorie Operatoren. Vul -220 en 220 in, en zet y op 170.
Sprite: Appel
- Mijn appel springt bovenaan van plek naar plek
Laat de appel vallen tot hij iets raakt
BesturingSleep uit Besturing een "herhaal tot ..." onder je "ga naar"-blok, maar nog steeds binnen de grote lus. In het zeshoekje zet je de operator of uit Operatoren, en daarin twee keer "raakt ...?" uit Waarneming: één keer Mand, één keer rand. In de mond komt "verander y met -5".
Sprite: Appel
- De appel valt naar beneden en springt daarna terug omhoog
Punt erbij of leven eraf
BesturingAls de val-lus klaar is, moet je weten waaróm ze klaar is: gevangen of gemist. Sleep daarom een "als ... dan ... anders"-blok net onder je "herhaal tot", nog steeds binnen de grote lus. Vraag opnieuw "raakt Mand?". Zo ja: punt erbij. Zo nee: leven eraf.
Sprite: Appel
- Score gaat omhoog bij vangen, levens gaan omlaag bij missen
Testmoment — speel drie appels lang
controleKlik op de vlag en speel even. Vang er eentje, mis er eentje, en kijk naar de twee tellers linksboven. Klopt er iets niet? Loop deze lijst af:
- Score springt niet omhoog als je vangt? Je mand heet in het blok "raakt ...?" misschien nog Bowl in plaats van Mand. Kies de juiste naam in het dropdownlijstje.
- Score blijft op 0 of 1 hangen? Dan staat "maak score 0" per ongeluk in je lus in plaats van erboven.
- De appel wordt meteen "gevangen" zonder te vallen? Hij raakt de bovenrand al bij het verschijnen. Zet y op 150 in plaats van 170, of maak je appel wat kleiner.
- Levens gaan met sprongen van 2 of 3 omlaag? Dan staat je als/anders per ongeluk binnen de "herhaal tot"-lus in plaats van eronder.
- Alles gaat razendsnel? Dat hoort een beetje zo. Zet -5 tijdelijk op -3 om rustiger te kunnen testen.
- Vangen geeft +1 punt, missen kost precies 1 leven
Een geluidje bij het vangen
GeluidKlik bovenaan links op het tabblad Geluiden (naast Uiterlijken). Klik linksonder op het luidsprekertje en kies een kort geluid, bijvoorbeeld Pop of Boing. Ga terug naar Code en sleep "start geluid ..." als eerste blok in de dan-tak van je als/anders.
Sprite: Appel
- Ik hoor een plopje als ik een appel vang
Game over bij 0 levens
BesturingEen spel dat nooit eindigt, is geen spel. Zet in de anders-tak, vlak onder "verander levens met -1", een nieuw "als ... dan". In het zeshoekje komt de operator = uit Operatoren: links het ronde blokje levens, rechts het getal 0. In de mond zet je een "zeg"-blok uit Uiterlijk en daaronder "stop alles" uit Besturing.
Sprite: Appel
- Bij 0 levens stopt het spel met een boodschap
Steeds sneller — het spel groeit met jou mee
VariabelenMaak een derde variabele: valsnelheid. Zet ze bij de start op -5 (negatief, want de appel gaat naar beneden). Vervang daarna in je val-lus het vaste getal -5 door het ronde blokje valsnelheid. En elke keer dat je een appel vangt, doe je er -0.3 bij: -5 wordt -5,3 wordt -5,6 ... hoe hoger je score, hoe sneller de appels vallen.
Sprite: Appel — bij de startinstellingen
Sprite: Appel — in de val-lus
Sprite: Appel — in de dan-tak, na het punt
- Hoe hoger mijn score, hoe sneller de appels vallen
Eindtest — speel je spel helemaal uit
controleSpeel tot je alle drie je levens kwijt bent, en start daarna meteen een tweede ronde. Alles moet dan weer netjes van voren af aan beginnen. Controleer:
- Begint ronde twee echt met score 0, 3 levens én de trage beginsnelheid? Zo niet: er ontbreekt een "maak ..."-blok bij je startinstellingen.
- Blijft het spel doorlopen ná "Game over"? Dan zit "stop alles" nog niet op zijn plek, of staat het buiten het als-blok.
- Wordt het spel onspeelbaar snel? Zet -0.3 op -0.15. Te makkelijk? Probeer -0.5.
- Klik op het volledige-scherm-knopje boven het speelveld en laat een klasgenoot spelen zonder uitleg. Snapt hij het spel meteen? Dat is de echte test.
- Mijn opdracht 5 is af — het spel is uitspeelbaar en herspeelbaar
Het volledige script
Zo ziet je afgewerkte project eruit. Let goed op: het zijn twee scripts, elk bij een andere sprite. Vergelijk ze met wat er op jouw scherm staat.
Sprite: Mand
Sprite: Appel
Uitdagingen
Klaar en nog tijd over? Deze drie uitdagingen hebben géén uitgewerkte oplossing — zoek zelf uit hoe je ze oplost. Alle blokken die je nodig hebt, ken je nu.
Een bonusappel
makkelijkVoeg een tweede vallende sprite toe — bijvoorbeeld een gouden appel of een banaan — die 5 punten waard is in plaats van 1. Tip: klik met de rechtermuisknop op je appel-sprite en kies "dupliceren". Je krijgt dan een kopie mét script; je hoeft er maar twee getallen in aan te passen.
Een bom die je moet ontwijken
middelLaat er ook bommen vallen. Vang je er één, dan verlies je meteen een leven in plaats van er punten bij te krijgen. Tip: het script lijkt sterk op dat van de appel, maar in de dan-tak en de anders-tak staat precies het omgekeerde. Denk goed na over wat er moet gebeuren als een bom de bodem raakt — dat is dan juist géén straf.
Highscore die blijft staan
pittigMaak een vierde variabele highscore die je niet op 0 zet bij de start. Vergelijk aan het einde van elk spel je score met de highscore, en zet er de hoogste van de twee in. Tip: je hebt de operator > nodig en een als-blok op de juiste plaats. Extra pittig: laat de mand een klein sprongetje of een kleurflits doen als je een nieuw record haalt.