Programmeren moeilijk? Niet met Scratch. Daarmee zet je snel en makkelijk je eigen computerprogramma’s in elkaar. Wij helpen je op weg met deze workshop.

Alex Wit

 

Om een computerprogramma te maken heb je een programmeertaal nodig. De meeste zijn vrij lastig te leren, maar Scratch is een uitzondering. Je hoeft in Scratch geen ingewikkelde Engelse commando’s te typen. Om de nieuwste versie van Scratch te leren kennen, maak je in deze workshop stap voor stap een simpele game. Dit spel is gebaseerd op een van de allereerste computergames: Pong.

Welkom in Scratch
Om met Scratch 3.0 te programmeren, gebruik je de Scratch-editor. Deze editor werkt in bijna alle internetbrowsers behalve Internet Explorer. Ga met je browser naar scratch.mit.edu Onderaan de website staat bij Ondersteuning de FAQ. Daarin vind je onder andere oplossingen voor problemen met Scratch.

Starten met een nieuw programma in Scratch is simpel. Klik links bovenin op de optie Maak. Je komt in de editor. Gewoonlijk staat hier een groen videovenstertje waarin wordt uitgelegd wat Scratch is. Die sluit je met een klik op het kruisje. Is Scratch nog niet in het Nederlands? Klik dan op de wereldbol en Nederlands.

De Scratch-editor bestaat uit verschillende delen. De lijst links heet het Blokkenpalet. Hierin staan alle Scratch-commando’s verdeeld in verschillende groepen, zoals Beweging en Besturen. Rechtsboven staat het Speelveld, waarin je de resultaten van je programma ziet. Rechtsonder staat het Spritevak. Sprites zijn bewegende afbeeldingen die veel worden gebruikt in games. Scratch begint altijd met een sprite van de kat. Het vak in het midden heet de Scriptzone. Hierin maak je je programma met behulp van de commandoblokken.

Scratch 3.0 Afbeelding1 2
De Scratch editor

Eerst de buitenkant
Voordat je echt gaat programmeren, maak je de buitenkant van je spel. Je kiest daarvoor de sprites en de achtergrond. De sprite van de kat heb je niet nodig, dus die verwijder je uit het Spritevak rechtsonder. Klik bij Sprite1 op het pictogram van de vuilnisbak.

Je kiest nu een nieuwe sprite. Klik op het blauwe rondje met de witte kat. Je ziet nu een overzicht met alle sprites. In onze versie van het spel proberen we een vleermuis te verjagen, dus klik op Bat. De vleermuis is toegevoegd aan het Spritevak en ook meteen het Speelveld. Je maakt de vleermuis nog even wat kleiner door bij Grootte 100 te vervangen door 50. Klik op een lege plek in het Spritevak.

Je voegt nog een tweede sprite toe waarmee je in het spel de vleermuis verjaagt. Ga via het blauwe rondje met de witte kat naar de sprites. Typ in het vak Zoek linksboven: paddle. Dit is een soort racket in de vorm van een streepje. Klik erop om deze sprite ook in je spel te zetten.

Als laatste voeg je nog een achtergrond toe aan je spel. Klik helemaal rechtsonder in het vak Speelveld op de blauwe knop. Hier staan alle achtergronden. Zoek naar woods en klik daarop.

Het uiterlijk van je spel is klaar. De plekken waar je sprites staan, verander je straks met je programma.

Scratch 3.0 Afbeelding2
De sprites en achtergrond staan klaar

Een programma maken
Voor het maken van een programma in Scratch sleep je een voor een commando’s uit het Blokkenpalet naar de Scriptzone ernaast. Programmeren houdt voor een groot deel in dat je de goede commando’s in de goede volgorde neerzet. Op die manier doet het programma wat jij wil.

Bij een spel met meerdere sprites maak je meestal per sprite een stukje programma. In onze game begin je met de paddle. Klik daarvoor in het Spritevak op Paddle.

In het eerste deel van een programma zet je de beginwaarden goed. Bijvoorbeeld bij dit spel zet je de teller die de score bijhoudt op 0 en het aantal levens op 10. Ook zet je de paddle op de goede plek in het Speelveld. Op deze manier weet je zeker dat je altijd met een schone lei begint aan een nieuw spel.             

                   


Verwijderen

Als je een commando hebt toegevoegd aan je programma dat niet goed is, verwijder je het simpel. Schuif het blok los van het programma. Druk daarna op Delete of schuif het blok in het Blokkenpalet.

              

De eerste commando’s
Je begint een programma meestal met een Gebeurtenis-commando. Klik op het gele knopje Gebeurtenis links in de editor. Dit type commando komt in actie als er iets gebeurt. Bijvoorbeeld wanneer je klikt op de groene vlag in de Scratch-editor. Hiermee start je het spel. Sleep het commando Wanneer op (groene vlag) wordt geklikt boven in de Scriptzone.

Met je tweede commando zet je de paddle op de goede plek. Daarvoor gebruik je een commandoblok uit de groep Beweging. Klik op de blauwe knop Beweging. Sleep Ga naar x: (getal) y: (getal) onderaan tegen het eerste commando in de Scriptzone. Je ziet een schaduw onder het bovenliggende commando als je goed zit met je nieuwe commandoblok. Laat dan los.

De commandoblokken van Scratch passen als puzzelstukjes in elkaar. Als een stukje niet past, weet je dat je die twee commando’s niet onder elkaar kan zetten. Let er daarom goed op dat de juiste commandoblokken aan elkaar vastzitten, anders worden ze niet uitgevoerd als een programma(deel).

      Scratch 3.0 Afbeelding3
  Je past de commandoblokken als puzzelstukjes in elkaar en vult ze in

Eigenschappen veranderen
Je kunt de eigenschappen van bepaalde commando’s aanpassen. Sommige hebben witte vakjes met een getal of tekst. Andere hebben een lijst met opties. Klik in het commando Ga naar x: (getal) y: (getal) in het vakje achter x en typ: 0. Vervang het getal achter y: door -140. Hiermee zet je de paddle op de plek 0,-140 in het Speelveld. De positie 0,0 is precies in het midden van het Speelveld.

Het is een goed idee om je programma tijdens het maken stukje voor stukje uit te proberen. Zo haal je er meteen de fouten uit. Dit wordt debuggen genoemd. Klik op de knop met de groene vlag links boven het Speelveld. De paddle wordt op de juiste plek midden onderin gezet.

Tellen met variabelen
In een variabele kan een steeds andere inhoud staan. Denk bijvoorbeeld aan de score in een game die verandert. In een programma geef je gewoonlijk aan het begin de variabelen op. Klik daarvoor op de oranje groep Variabelen. Klik op Maak een variabele. Typ als variabelenaam Score en klik op OK. Maak op dezelfde manier de variabele Levens. De variabelen krijgen automatisch een plekje in het Speelveld, zodat je inhoud kan zien.

Om de score in het spel altijd op 0 te laten beginnen, voeg je het commando Maak (Levens) 0 toe aan het programma. Je verandert de variabele Levens in Score door op het pijltje en daarna Score te klikken. Voeg nog een blok Maak (Levens) 0 toe. Verander de 0 in 10. Hiermee houd je het aantal levens bij.

Scratch 3.0 Afbeelding4
Houd je score en levens bij met een variabele
Scratch 3.0 Afbeelding5  
Je beweegt met de z-toets de paddle naar links      

De paddle besturen
Met de paddle moet je de vleermuis van de grond houden. Dat betekent dus dat je hem moet besturen. Daarvoor gebruik je de Z en C op het toetsenbord. Drukken op de spatiebalk stopt de game. Voor deze drie toetsen maak je drie verschillende programmadelen.

Sleep uit Gebeurtenissen het blokje Wanneer (spatiebalk) is ingedrukt op een lege plek onder het eerste programmadeel. Dat de bovenkant van dit blokje geen puzzelstukje is, geeft aan dat je het niet kunt toevoegen aan een ander commando erboven. Klik in het blok op spatiebalk en kies z.

Je voegt nu een als/dan commando toe. Hiermee check je of de paddle bij de rand van het Speelveld is aangekomen. Zo niet: dan verplaats je de paddle een stukje naar links. Sleep uit Besturen het blok als dan onder wanneer (z) is ingedrukt.

Je voegt een voorwaarde aan dit commando toe. Sleep uit Functies het blok ( ) > 50 op het zeshoekje in het als dan blok. Zet daarna uit Beweging het blok x-positie op het eerste vakje van ( ) > 50 en typ in het tweede vakje -180.

Tot slot geef je aan wat er gebeurt als aan de voorwaarde voldaan wordt. Zet uit Beweging het blokje verander x met (10 ) tussen de twee poten van als dan. Vervang de waarde 10 door -15.

      Scratch 3.0 Afbeelding6
 

Alle toetsenbord programmadelen

Het programmadeel voor de c-toets maak je op bijna dezelfde manier:

wanneer c is ingedrukt
als x-positie < 180 dan (let op de <)

verander x met 15

Voor het stoppen van de game maak je een deel dat begint met wanneer (spatiebalk) is ingedrukt. Daaronder zet je stop alle uit Besturen. Test nu de besturing van je paddle met een klik op de groene vlag en de opgegeven toetsen.

 

Scratch 3.0 Afbeelding7      
Hiermee vliegt je vleermuis

   

 

 

 

 

 


De vleermuis laten vliegen
Nu is de vleermuis aan de beurt. Die moet in het begin boven in het Speelveld verschijnen. Klik in het Spritevak op de sprite Bat. Maak dan het volgende programmadeel:

wanneer op (groene vlag) wordt geklikt
verschijn (uit groep Uiterlijken)

ga naar x: 0 y: 200
richt naar 90 graden (Beweging)

De vleermuis moet iedere keer een willekeurige kant op vliegen, anders wordt het voorspelbaar. Daarvoor zet je willekeurig getal tussen uit Functies in het witte vakje van richt naar 90 graden. Typ in het eerste vakje van willekeurig getal tussen: 100. Typ in het tweede vakje: 260. De hoek waarin de vleermuis vliegt ligt hierdoor tussen de 100 en 260 graden.

Voor het vliegen gebruik je een lus die zichzelf eindeloos herhaalt. Voeg herhaal uit Besturen toe. Zet in die lus onder elkaar: neem 8 stappen en keer om aan de rand uit Beweging. Als de vleermuis tegen de rand van het Speelveld komt, zal hij omdraaien. Test het programmadeel uit en je ziet de vleermuis door het beeld stuiteren. Druk op de rode knop naast de groene vlag om het programma te stoppen.

De vleermuis terug tikken
Je gebruikt je paddle om de vleermuis tegen te houden. Je voegt eerst een als dan blok toe tussen keer om aan de rand en het onderste deel van herhaal. Zet in als dan het blok raak ik (muiswijzer)? uit Waarnemen. Vervang muiswijzer door Paddle. Zet daarna nog in de als dan lus:

richt naar (willekeurig getal tussen -80 en 80) graden
verander Score met 1 (uit Variabelen)

Test nu of je paddle de vleermuis goed terugslaat en je score omhoog gaat. Stop met de spatiebalk.

Scratch 3.0 Afbeelding8
Zo houd je een vleermuis in de lucht

      Scratch 3.0 Afbeelding9
 

Het laatste deel van je spel

De vleermuis missen
Met het laatste deel van het programma controleer je of de vleermuis op de grond komt. In dat geval verlies je een leven en begint er een nieuwe spelronde. Als je levens op zijn, stopt de game. De commando’s hiervoor zie je in de laatste afbeelding in het rode kader staan. Test je game. Werkt die nog niet helemaal goed? Controleer dan de commando’s en de getallen daarin.

Als je spel helemaal klaar is, sla je het op via Bestand > Opslaan op je computer. Klik eventueel onder in je browser op ^ > Opslaan als. Kies een map, typ een naam voor het programma en klik op Opslaan. Het spel openen doe je met Bestand > Uploaden vanaf je computer.

In het volgende nummer van PC-Active leer je nog meer Scratch commando’s kennen.