Uit Dutch Scratch-Wiki

text
Bij een voetbalwedstrijd houd je de score bij door doelpunten te tellen. In Scratch kun je de score 'bewaren' in een variabele.

Bij computerspelletjes waarin je punten kunt verdienen, heb je een scoreteller nodig. In dit Wiki-artikel lees je over verschillende manieren om een scoreteller te maken. Ook vind je hier uitleg over verschillende manieren om die score in beeld te brengen, bijvoorbeeld in een tekstballon of door sprites met mooie letters te gebruiken.

Van start


Om te beginnen maak je een variabele met de naam 'score' (zie variabelen bij data).

Maak een variabele ::grey boolean

Deze variabele is je scoreteller. Een variabele is een soort van doosje of kastje met een cijfer of woord erin (in dit geval een cijfer).


Bij de start van het spel wil je natuurlijk met een score van 0 beginnen. Daarom zeg je tegen je sprite, 'als de groene vlag wordt aangeklikt maak score 0'.

wanneer groene vlag wordt aangeklikt
maak [score v] [0]


text
Scratch-kat verdient punten door groene ballen te vangen en verliest punten als ze rode raakt.

Punten scoren





Nu wil je bijvoorbeeld dat de speler er 1 punt krijgt als de Scratch-kat een groen balletje vangt (raakt). Dan moet bij de Scratch-kat de volgende code komen te staan: 'als raak ik [groene bal] verander score met 1'.

herhaal
als <raak ik [groene bal v]?> dan
verander [score v] met (1)
end
end


Als je er voor kiest het balletje niet te laten verdwijnen op het moment dat de Scratch-kat het groene balletje raakt, is het handig om ook een wachttijd toe te voegen. Anders gaat je computerprogramma elke 0,03 seconde, oftewel na elke herhaal-loop, opnieuw controleren of de kat het balletje raakt. Dan verdient de speler soms ineens veel punten tegelijk. Met 2 seconden wachttijd kun je dat meestal voorkomen.

herhaal
als <raak ik [groene bal v]?> dan
verander [score v] met (1)
wacht (2) sec.
end
end


In plaats van 2 seconden wachttijd kun je ook voor deze code kiezen:


wacht tot <niet <raak ik [groene bal v]?>>

text
Punt erbij of punt eraf?

Punten verliezen



Maar stel je hebt in je spel ook rode balletjes waardoor je 1 punt kwijtraakt. Dan moet bij de Scratch-kat de volgende code komen te staan:

herhaal
als <raak ik [rode bal v]?> dan
verander [score] met (-1)
end
end
text
Je kunt een sprite gebruiken om de speler te laten zien of hij een punt wint of verliest.




Extra

Bij sommige spellen is het voor de speler handig om te zien of hij nu wel of niet een punt heeft gehaald. Daarvoor kun je het best een aparte sprite maken die in beeld verschijnt als er een punt is gescoord.

Wil je ook laten zien wanneer er een punt af gaat? Maak dan een tweede uiterlijk met "-1" erop geschreven.










Tijd als score



Je kunt natuurlijk ook tegen je sprite zeggen dat 1 punt bij komt voor elke seconde dat de speler in leven blijft in het spel. Dit is handig bij spelletjes waarbij je dingen moet ontwijken.

herhaal
wacht (1) sec.
verander [score] met (1)
end


Andere optie is om te beginnen met een score van 100 en elke seconde de score met -1 te veranderen. Dan tel je dus als het ware terug van 100 naar 0. Als je het level gehaald hebt, gaan er geen punten meer van de score af. De tijd die je als speler over had, is dan dus je score.

maak [score v] [100]
herhaal
wacht (1) sec.
verander [score v] met (-1)
end


Meerdere spelers

text
Bij een spel met twee spelers kan elke speler zijn "eigen" variabele krijgen om de score bij te houden.


Als een spel meerdere spelers heeft, kun je twee variabelen gebruiken. Tip: geef die allebei een duidelijke naam. In het plaatje hiernaast is gekozen voor "score roze" voor de roze kubus en "score blauw" voor de blauwe kubus.



Bij twee spelers kun je overigens de ene speler met de pijltjes-toetsen laten spelen en de andere met de wasd-toetsen.



Score weergeven


Spelers vinden het vaak leuk om hun score te weten, liefst al tijdens het spel. De score weergeven op het speelveld kan op verschillende manieren.

Je kunt de variabele met of zonder naam op het scherm laten zien. In de plaatjes hierboven was het eerste te zien.


Je kunt ook na afloop de kat of een andere sprite de score in een tekstballon laten vertellen:

zeg (voeg [Je score is: ] en (score) samen)(2) sec.
text
Punten met mooie letters op het speelveld.




Tip voor meer gevorderde Scratchers: gebruik ook eens een sprite met getallen om een score weer te geven.



Om dat voor elkaar te krijgen, moet de naam van elk uiterlijk hetzelfde zijn als het getal dat er bij hoort. Dus bij het cijfer 1, geef je het uiterlijk de naam "1" mee, bij het cijfer 2 krijgt het uiterlijk de naam "2", enzovoorts. Als je dat doet, kun je de volgende code gebruiken:

herhaal
verander uiterlijk naar (score)
end


Cookies helpen ons onze services aan te bieden. Door onze services te gebruiken stemt u in met het gebruik van onze cookies.