In dit simpele project leer je hoe jij Pong kan namaken in Scratch.
Wat is Pong?
In het spel Pong heb je een bal die naar beneden valt. De bal mag niet vallen tot de bodem van het scherm. De bal houd je omhoog door met je muis het plateau te bewegen. Als de bal deze aanraakt, stuitert deze weer omhoog. Het doel is het om de bal zo lang mogelijk hoog te houden.
Wat is Scratch?
Scratch is een programmeer programma op je Raspberry Pi. In dit programma werk je met functieblokken. Dit houd in dat je de programmeer tekst niet zelf schrijft. De blokken met de functies zijn al voor je gemaakt. Deze blokken zet je zelf in een schema. Als je de Raspbian software op je Raspberry Pi hebt gedownload staat Scratch als het goed is automatisch op je Pi. Als dat niet zo is moet je deze downloaden.
Ik programmeer in Scratch op de Raspberry Pi 4 met 4GB. Je kunt ook programmeren op de Raspberry Pi 3B+. Ook kun je met de Pi 4 de 1 GB of 2 GB gebruiken.
Programmeer je in Scratch 2.0? Dan kun je nog steeds deze tutorial volgen. Houd er wel rekening mee dat bepaalde functies op een andere plek kunnen staan Ook kunnen de plaatjes er anders uitzien dan op jouw scherm. Je kunt deze tutorial volgen omdat de code hetzelfde is.
Taal veranderen.
Waarschijnlijk staat jouw programma in het Engels. Om de stappen goed te volgen is het verstandig als je de taal verandert in je programma. Je kunt de taal veranderen door op de “wereldbol” links boven je scherm te klikken. Dit icoon is de vinden naast het logo van Scratch. Selecteer Nederlands.
- Niveau – beginner 33%
- Tijdsduur – 15 Min 20.%
- Kosten – €82.3. euro compleet 50%
Stap 1: Benodigheden
1X Raspberry Pi 4 (kosten vanaf €39,95)
1X Monitor
1X 16GB micro SDHC raspbian
1X Raspberry Pi voedingsadapter
Stap 2: Aansluiten & Opstarten
Aan de zijkant van de Raspberry Pi 4B zitten twee Micro HDMI poorten. Plaats de Micro HDMI kabel in de linker poort, en het HDMI uiteinde in een monitor of beeldscherm.
Sluit een toetsenbord & muis aan op de USB poorten en plaats als laatste de voedingskabel in de USB-C poort.
Je set-up is nu klaar om te worden opgestart.
Als de de Raspberry Pi nu opstart krijg je op je monitor een desktop te zien. Bij de eerste keer opstarten moet je deze nog even instellen, maar dat wordt stap voor stap uitgelegd.
Stap 3: Programmeren
Eerst gaan we de bal uitzoeken. Naast de tekst: Nieuwe Sprite: zie je een hoofdje. Klik daar op. Nu zie je allemaal standaard Sprites (karakters). Als het goed is, zie je redelijk bovenaan de bal icoon staan, selecteer deze. Je kunt ook zelf een bal tekenen. Klik dan op de kwast. Als je wat heb uitgekozen druk dan op OK (Figuur 1). Het standard karakter kun je verwijderen door op het icoon te klikken met je rechtermuisknop. Klik vervolgens op verwijderen.
Figuur 1
Nu gaan we beginnen met de code voor de bal. De bal moet in het spel vallen en stuiteren tegen de rand.
- Ga naar Gebeurtenissen en pak de “wanneer (flag) wordt aangeklikt” wordt blok. Dit blok geeft aan dat alle blokken die onder deze functie staan gestart kunnen worden als er op de groene flag gedrukt wordt.
- Ga naar Beweging en pak de “ga naar X:– Y:–” plaats deze onder de start functie. Deze functie bepaald de plek waar de bal begint wanneer het spel start.
- Om de X en Y positie te bepalen ga je met je muis naar de plek waar je wilt dat het valt. (boven in het scherm)
- Dan zie je rechts onder in je kleine scherm de waardes van de X en Y as. Vul deze in je X—Y–functie.
- Pak bij Beweging de “richt naar 90” graden functie. Plaats deze onderaan je code.
- Verander de 90 graden naar 45. Dit bepaald de hoek waarmee de bal naar beneden valt.
- Ga naar Besturing, pak de “Herhaal” blok. Plaats deze onder in je code.
- Ga naar Beweging en pak de “keer om aan de rand” en de “neem 10 stappen” blokken en zet deze in de herhaal functie.
- Door het aantal stappen te veranderen verander je de snelheid van de bal. Je kunt voor het gemak 10 aanhouden.
- Klik op de groene flag en kijk of je tevreden bent met de startpositie en de balsnelheid. Als je niet tevreden bent kun je het gerust nog aanpassen.
- Je code ziet er ongeveer zo uit (Figuur 2).
Figuur 2
Nu gaan we het plateau uitzoeken, weer geld dat je dit zelf kunt maken, maar je kunt het ook uitzoeken. Zoek op dezelfde manier het plateau op als de ball. Het plateau zit waarschijnlijk meer naar onderen (Figuur 3).
Figuur 3
Nu gaan we de code maken voor het plateau.
- Ga naar Gebeurtenissen en pak de “Wanneer (flag) wordt aangeklikt) blok.
- Ga naar Besturen en pak een herhaal functie. Plaats deze onder de start functie.
- Ga naar Bewegingen en pak de “maak X 0”. Zet deze in de herhaal functie.
- Ga naar waarnemen en pak de “muis X” functie. Zet deze op de 0.
- Als je de code test zie je dat het plateau je muis volgt.
- Je code ziet er nu ongeveer zo uit (Figuur 4).
Figuur 4
Nu gaan we verder met de code van de Bal.
- Ga naar Gebeurtenissen en pak de “Wanneer (flag) wordt aangeklikt) blok.
- Ga naar Besturen en pak een herhaal functie. Plaats deze onder de start functie.
- Pak vervolgens bij Besturen een “als dan” functie en plaats deze in het herhaal blok.
- Ga naar Waarnemen en pak de “raak ik ….” Druk op het pijltje naar beneden en selecteer je plateau. Zet deze functie tussen de “als..dan”.
- Ga naar Beweging en pak de “draai 15 graden” (klokwijs). Zet deze tussen de “als dan” functie.
- Ga naar functies en pak de “willekeurig getal tussen – en –” functie. Zet deze op de 15 graden. Verander de waardes naar 160 en 200. Deze waardes bepalen welke richting de ball terug stuitert.
- Ga weer naar Beweging en pak de “neem – stappen” verander deze naar bijvoorbeeld 15. Dit laat de bal soepeler lopen.
- Je code ziet er nu ongeveer zo uit (Figuur 5).
Figuur 5
Nu gaan we een achtergrond toevoegen.
- Een achtergrond uitzoeken gaat een beetje hetzelfde als je Sprite (karakter). Klik op het foto plaatje, of op de kwast als je het zelf wilt bewerken.
- Als je een achtergrond uitgekozen hebt, zie je boven in het scherm staan: Scrips, achtergronden en geluid. Als je op achtergronden klikt, kun je deze bewerken.
- Teken op je achtergrond onder in een dikke rode lijn. Dit bepaald het punt waar je af gaat als de bal hierop beland.
- De lijn kun je tekenen door op het vierkantje te drukken en over het scherm te bewegen. Vervolgens vul je het op met de emmer.
- Je achtergrond ziet er nu ongeveer zo uit (Figuur 6).
Figuur 6
Dan gaan we terug naar de code van de bal.
- Ga naar Gebeurtenissen en pak de “Wanneer (flag) wordt aangeklikt” blok.
- Ga naar Besturen en pak een herhaal functie. Plaats deze onder de start functie.
- Pak vervolgens bij Besturen een “als dan” functie en plaats deze in het herhaal blok.
- En bij besturen pak je de “stop” blok en zet je deze tussen de als dan. Klik op het pijltje en zoek naar “andere scrips in sprite”.
- Ga dan naar Waarnemen en pak de “raak ik kleur” functie. Zet deze tussen de als dan. Klik op het kleur vakje en sleep met je muis over de rode balk en klik hierop. Nu neemt hij de kleur aan van de balk. Je hebt nu een code geschreven dat start wanneer de groene flag ingedrukt wordt. Hij kijkt constant of de rode kleur aangeraakt wordt. Wordt het aangeraakt dan stoppen alle codes. Dus je hebt een game over functie gemaakt.
- Ga naar Uiterlijken en pak de “zeg”functie. Plaats deze in de als .. dan blok. Schrijf achter zeg bijvoorbeeld: “Game over!”.
- Je code ziet er nu ongeveer zo uit (Figuur 7).
Figuur 7
Nu heb jij een eigen pong spel gemaakt. Vond je dit een leuk spel om te maken? Je kunt het ook nog uitbreiden! Voeg geluid toe elke keer dat de bal stuitert. Laat de bal van kleur veranderen. Of houd de score bij. Je kunt dit spel helemaal aanpassen naar je eigen wensen. Veel plezier!