Hallo, mijn naam is Minti Mint! Ik ga je uitleggen hoe je je eigen computerspel kunt maken. We gaan een racespel maken!
Bernd Gärtner Nederlandse vertaling en bewerking: Martine Segers
Scratch is een programmeertaal waarmee je je eigen interactieve animaties, spelletjes, muziek en kunstwerken kunt maken. Die kun je ook online delen als een Scratch-project. Scratch is in veel talen beschikbaar, ook in het Nederlands! Je hoeft dus geen Engels geleerd te hebben om er mee te kunnen werken.
© Bernd Gärtner, Kinderlabor.ch
Om je eigen computerprogramma’s te maken, moet je gekleurde blokken op elkaar stapelen. Op die blokken staan opdrachten voor de computer. De blokken vertellen de computer wat allerlei figuurtjes in je programma moeten gaan doen. Die figuurtjes kun je zelf tekenen, maar je kunt ook de plaatjes uit de plaatjesbibliotheek van Scratch gebruiken of bijvoorbeeld een foto importeren. Projecten maak je extra leuk door er ook geluidjes en/of muziek aan toe te voegen.
© Bernd Gärtner, Kinderlabor.ch
Scratch in drie uur
© Bernd Gärtner, Kinderlabor.ch
Maak je eigen racespelletje! Doel van deze les is om een programma te maken waarmee je Scratch-kat over een racebaan kunt sturen. Het is handig om voor je aan de slag gaat de bijbehorende online uitleg «Scratch in vijf minuten» te bekijken. Die vind je op de website van Scratch: http://scratch.mit.edu/projects/63169612/
Offline en online: beide mogelijk en beide gratis beschikbaar Je kunt de offline editor Scratch 2.0 downloaden via: https://scratch.mit.edu/scratch2download/. Meer info over de offline editor vind je hier: http://wiki.scratch.mit.edu/wiki/Scratch_2.0_Offline_Editor
© Bernd Gärtner, Kinderlabor.ch
Je kunt ook een account aanmaken en online aan projecten werken. Een account aanmaken doe je op http://scratch.mit.edu/, waarna je klikt op «Word Scratcher». Je hebt dan wel een e-mailadres nodig.
Als je voor offline kiest, kun je je projecten later gemakkelijk alsnog online delen. Nadat je een account aangemaakt hebt, kun je in de offline editor onder het kopje «Bestand» linksboven op «Share to website» klikken (een van de weinig teksten die niet vertaald is naar het Nederlands). Helaas werkt Scratch (nog) niet op tablets waar geen Adobe Flash-software op draait. 2
© Bernd Gärtner, Kinderlabor.ch
Het speelveld: Hier zie je je project in actie! De dingen en figuurtjes in je project noemen we sprites. Een project bevat niet alleen je code (de gekleurde blokjes), maar ook de achtergronden, geluiden en verschillende uiterlijken van de figuurtjes.
Het blokken-keuzemenu: Hier selecteer je de gekleurde blokken die je nodig hebt voor je programma. Klik erop en sleep ze naar rechts.
© Bernd Gärtner, Kinderlabor.ch
Zo ziet het scherm eruit als je een project maakt. Het scherm is opgedeeld in vier delen die ik hier aan je toelicht.
Lijst met sprites: Elke sprite heeft zijn eigen code (gekleurde blokjes). Ook de achtergrond heeft zijn eigen code. Door op een sprite te klikken, krijg je rechts de bijbehorende code te zien. Die code vertelt de computer wat hij moet doen als je op de groene vlag klikt.
Bouw hier je scripts: Hier stapel je gekleurde blokken en bouw je een script dat de sprites en de achtergrond vertelt wat ze moeten doen. 3
© Bernd Gärtner, Kinderlabor.ch
Aan de slag! Laten we een racebaan maken.
1. Klik op het penseel (links op het scherm). Daarna kun je rechts een nieuwe achtergrond gaan tekenen.
2. Teken een racebaan met start en finish. Tekenpenseel
© Bernd Gärtner, Kinderlabor.ch
Kies hier je kleur
Dikte van je penseel 4
© Bernd Gärtner, Kinderlabor.ch
3. Klik op de Scratch-kat in de sprite-lijst, zodat er een blauwe rand omheen komt.
4. Kies nu een nieuw uiterlijk voor de kat door op het poppetje (Giga) te klikken. In de sprite-bibliotheek zoek je daarna «cat2» onder het kopje dieren.
5. Maak die kat nu kleiner door op de krimp-knop en daarna op de kat te klikken.
Kleiner maken
© Bernd Gärtner, Kinderlabor.ch
Nu gaan we van Scratch-kat een race-kat maken.
Let op dat de kat klein genoeg is om over de baan te racen. 5
© Bernd Gärtner, Kinderlabor.ch
Nu gaan we echt programmeren!
6. Selecteer nu de kat (en dus niet de achtergrond) door er op te klikken. Dan komt er een blauwe rand omheen.
7. Selecteer vervolgens het blokken-keuzemenu door op Scripts te klikken (zie witte pijl).
© Bernd Gärtner, Kinderlabor.ch
8. Sleep nu de blokken naar rechts om te starten met het maken van je programma.
6
Naar de start 10. Beweeg je muis naar de start en bekijk rechtsonder het speelveld welke x- en welke y-waarde daar bijhoren. Zet die getallen in het blauwe blok.
9. Selecteer de «s» via een klik op het driehoekje. (Eerst staat er spatiebalk.)
© Bernd Gärtner, Kinderlabor.ch
Programmeer Scratchkat zo dat hij naar de start gaat als de speler op het toetsenbord op de «s» drukt.
© Bernd Gärtner, Kinderlabor.ch
Gebruik deze blokjes:
Bepaal je richting
x = 0 en y = 0 is het midden van het speelveld. x = -160 betekent 160 stappen (pixels) links van het midden. y = 96 betekent dat de kat bij de start 96 stappen (pixels) boven het midden staat.
11. Bepaal met een kompas in welke richting de neus van de kat wijst bij de start. Hiernaast is dat de richting van de rode pijl: 50 graden. Dat getal vul je in in het blauwe blokje hier linksonder. 7
© Bernd Gärtner, Kinderlabor.ch
12. Nu gaan we aan de slag met de race-code met bovenstaande blokjes. Lees hiernaast de info en bedenk hoe je de blokjes moet stapelen. Test nu het race-script uit door op de «s»-toets te drukken. Als het goed is, gaat je kat racen… maar eindigt die wel vrij snel in het gras. Je kunt immers nog niet sturen.
13. Na de start moet Scratch-kat steeds weer een stap nemen en ondertussen controleren of ze niet de groene rand raakt. Als dat het geval is, moet ze «game over» zeggen en stoppen met racen.
© Bernd Gärtner, Kinderlabor.ch
Gebruik deze blokjes:
14. Kies de goede kleur: dat doe je door eerst op het gekleurde vierkantje te klikken en daarna op het gras. Dan krijgt het vierkantje in het blauwe blok de kleur van het gras.
8
© Bernd Gärtner, Kinderlabor.ch
Gebruik de volgende blokken:
Verander de draairichting: 50
© Bernd Gärtner, Kinderlabor.ch
15. Geef Scratch-kat nu een script om te sturen. Laat haar een beetje naar links draaien als de speler de -toets indrukt en met de -toets naar rechts. Tip: druk op de «s» om te oefen met sturen als dit script klaar is.
Draaihoek
35 65
Als Scratch-kat -15 graden draait, draait zij tegen de klok in.
Als Scratch-kat +15 graden draait, draait zij met de klok mee. 9
16. Je bent bijna klaar. Je moet de racekat nu alleen nog bij herhaling laten controleren of ze de finish al bereikt heeft.
17. Geef Scratch-kat nu een rode neus (teken een rood bolletje) waarmee je kunt controleren of ze de finish al bereikt heeft. Als dat het geval is, moet je haar horen miauwen, moet ze in een tekstballon zeggen «Je hebt gewonnen» en stoppen met racen.
Nu is je spel klaar om te spelen! Start het spel door de «s» in te drukken.
© Bernd Gärtner, Kinderlabor.ch
Ik heb nog een kleine puzzel voor je.
Vertaling en bewerking: Martine Segers
Scratch-kat gebruikt het blokje dat controleert of haar neus de finish-lijn raakt? ( ) Waarom gebruiken we niet het blokje dat controleert of Scratch-kat zelf de finish-lijn raakt ( )? Net zoals we met onderstaand blokje controleren of Scratch-kat het gras niet raakt.
10
© Bernd Gärtner, Kinderlabor.ch
Gebruik nu deze blokken:
Hier zijn nog wat tips als je je race-game wilt uitbreiden! Je gebruikt dan variabelen. Dat zijn een soort doosjes met een getal erin dat tijdens het uitvoeren van je code kan veranderen.
© Bernd Gärtner, Kinderlabor.ch
Snelheid
1. Klik bij de gekleurde blokken op het oranje blok met «Data» erop en daarna op «Maak een variabele».
2. Geef de variabele een naam, bijvoorbeeld «snelheid».
3. Laat de variabele «snelheid» nu bepalen hoeveel stappen de kat steeds neemt. Zo kunnen we de speler de snelheid laten veranderen met de pijltjestoetsen (zie 5).
De nieuwe variabele is nu zichtbaar zoals hieronder.
© Bernd Gärtner, Kinderlabor.ch
4. In het begin van de race maken we de snelheid 1: ). )). 5. Geeft Scratch-kat nu twee nieuwe scripts. Als de speler op de ↑-toets drukt, neemt ze steeds een extra stap ( ) en gaat ze dus sneller. Met de ↓-toets gaat ze juist langzamer: ). 11
Tijd
2. In het begin van de race moet de tijdklok op nul staan ( ) en de variable tijd ook ( ). 3. Als Scratch-kat de finish passeert, maak je de variabele tijd gelijk aan de tijdklok-tijd. ( ). 4. Aan het eind van de race zegt Scratch-kat:
© Bernd Gärtner, Kinderlabor.ch
1. Maak een variabele voor de beste rondetijd ( ).
Beste tijd
2. Als de tijd nog nul is (na het eerste rondje) of de tijd van het laatste rondje is de beste tijd ( ), geef dan de variabele beste tijd de waarde van de huidige tijd mee ( ) en laat Scratch-kat de nieuwe beste tijd vertellen. Vertaling en bewerking: Martine Segers
© Bernd Gärtner, Kinderlabor.ch
1. Maak een nieuwe variabele ( ) om te meten hoe lang de race duurt.
Een rondeteller toevoegen, levert een puzzel voor experts op. Zoals het hieronder staat, werkt het niet. Wat is het probleem, en hoe kun je het oplossen? 1. Maak een nieuwe variabele om het aantal rondjes te meten: 2. In het begin maak je het aantal rondjes nul: 3. Elke keer als Scratch-kat de finish-lijn raakt, moet de rondeteller een grotere waarde krijgen: Laat Scratch-kat winnen na een bepaald aantal rondjes: 12