Jongleren met een bal
Time for a showoff! Je programmeert dit spel helemaal zelf. Als resultaat kan je even je vrienden uitdagen om om ter meest ballen in de lucht te houden. Wie wint?
JONGLEREN MET EEN BAL
Time for a showoff! Je programmeert dit spel helemaal zelf. Als resultaat kan je even je vrienden uitdagen om om ter meest ballen in de lucht te houden. Wie wint?
VERWIJDER DE KAT
Die kat hebben we niet nodig, verwijderen maar!
- Rechtermuis klik op de kat
- Kies verwijderen
WELKE 'SPRITES' HEBBEN WE NODIG
Sprites zijn objecten die deel uitmaken van het spel dat je programmeert. In dit geval hebben we een aantal verschillende sprites nodig:
- Bal 1
- Bal 2
- De grond
We gaan beginnen met deze sprites te kiezen of maken.
VOEG EEN NIEUWE SPRITE TOE
Eerst de twee ballen toevoegen. Er zijn twee manieren:
1) SPRITE TOEVOEGEN
- Voeg een nieuwe sprite toe. Kies bijvoorbeeld voor 'Soccer Ball' en klik op OK.
- Je kan de grootte van de bal aanpassen, door het getal bij 'Grootte' kleiner (of groter) te maken. Je vindt dit net onder je speelveld en net boven je sprites.
2) SPRITE TEKENEN
Als je de ballen die je kan kiezen TOTAAL NIET mooi vindt, kan je ook altijd je eigen bal tekenen. Dit doe je zo:
- Klik rechtsonder op 'Teken een sprite'
- Je krijgt nu een aantal hulpmiddelen die je kan inschakelen om je eigen bal te tekenen indien je dat wenst!
NU DE GROND NOG
Ok, nu de grond nog! Watte? De grond? Ja, we hebben dan wel al de ballen die uit de lucht gaan komen vallen, we willen ook detecteren wanneer die op de grond vallen, en dat betekent als programmeur dat je die zelf moet maken.
Hoe? Een gemakkelijke manier vind je hieronder:
- Klik rechtsonder op 'Teken een sprite':
- Klik nu op het vierkant
- Bovenaan zie je 'Vulling' staan. Kies voor de kleur die je wil, maar onthou wel goed welke kleur je gekozen hebt, want die ga je later nog nodig hebben.
- Kiest bij 'omtrek' voor geen omtrek:
- Teken nu een grote groene rechthoek onderaan je scherm, die de 'grasmat' voorstelt. Dat zou er ongeveer moeten uitzien zoals hieronder:
WE STARTEN MAKKELIJK...
We gaan simpel beginnen.
Op het moment dat we op de GROENE VLAG klikken, gaan we onze grond tevoorschijn laten komen.
Dit doen we door twee blokken te selecteren:
- (Uit de categorie Gebeurtenissen) Wanneer op de groene vlag wordt geklikt
- (Uit de categorie Uiterlijken) Ga naar laag voorgrond
Dit zou er zo moeten uitzien:
EN NU DE TWEE BALLEN NOG
En nu de twee ballen nog. We gaan het onszelf weer makkelijk maken hé...We gaan 1 bal programmeren en de code kopiëren naar de tweede bal.
De bal moet verschillende dingen doen:
- Naar beneden vallen
- Als we de bal raken, terug naar omhoog bewegen
- Als hij de grond raakt, verdwijnen en opnieuw van boven starten
De volgende stappen tonen hoe!
NAAR BENEDEN VALLEN
We gaan de twee ballen telkens naar beneden laten vallen.
- Selecteer 1 van de 2 ballen
- Scratch werkt met x en y coordinaten. Dat ken je misschien wel uit de les wiskunde. Vergeten hoe het werkt, kijk even naar de uitleg hieronder dan! Ken je het nog? Sla dit stukje dan gerust over en ga naar de volgende stap.
X-Y COORDINATEN
Het speelveld van Scratch is eigenlijk verdeeld in een heleboel kleine vierkantjes, zoals op de afbeelding op de volgende pagina. Alleen zijn er in Scratch veel meer hokjes. Om die hokjes te maken heb je 2 soorten lijnen nodig:
- Lijnen die van links naar rechts lopen. Dit is de x-richting.
- Lijnen die van onder naar boven lopen. Dit is de y-richting.
Elk punt op het speelveld heeft 2 getallen: x en y. Op het middelste punt is x=0 en y=0.Vanuit het middelpunt kun je vier richtingen uit:
- Naar rechts: x wordt dan groter. Helemaal rechts is x= 240.
- Naar links: x wordt kleiner, zelfs kleiner dan 0. Helemaal links is x= 240.
- Naar boven: y wordt groter. Helemaal bovenaan is y= 180.
- Naar onderen: y wordt kleiner. Helemaal onderaan is y= -180
Ok, de bal naar beneden laten vallen, betekent dus dat we de y-coordinaat van onze bal altijd kleiner moeten maken (tot maximaal -180). Dit doen we door:
- o (Uit de categorie Gebeurtenissen) Wanneer op de groene vlag wordt geklikt,
- o (Uit de categorie Besturen) Herhaal het commando:
- (Uit de categorie Beweging) Verander y met -5
Test je code: valt je bal naar beneden? Merk je dat hij stopt wanneer hij aan de bodem is?
We willen graag dat de bal opnieuw bovenaan verschijnt als hij op de grond is gevallen, zodat we nog eens kunnen proberen. Dat doen we straks, in één van de volgende stappen.
JE BAL OMHOOG SCHIETEN
Ok, je bal valt nu naar beneden. Maar het is de bedoeling van het spel dat we hem al jonglerend (of op gelijk welke andere manier) in de lucht houden natuurlijk.
Dit gaan we doen door een functie 'Schiet omhoog' te maken. Je kan dit vergelijken met de commando's die je aan je hond geeft. Op het moment dat je 'zit' roept tegen je hond, zal hij -als hij dit commando kent- gaan zitten. Wij gaan dus hetzelfde doen voor een bal.
We gaan eerst het commando maken en dan dit commando aan onze bal geven. Een commando of functie maken, doe je door:
- Op 'Mijn Blokken' te klikken
- Klik op 'Maak een blok'
en noem je blok 'Schiet omhoog'
Je ziet nu een blok met de naam 'definieer schiet omhoog'. Aan deze blok gaan we de instructies toevoegen die onze bal moet uitvoeren als hij het commando 'schiet omhoog' ontvangt.
We gaan een geluid afspelen op het moment dat we de bal raken:
o Ga naar het tabblad Geluiden
o Klik op de luidspreker knop rechtsonder om een geluid te kiezen
o Kies een geluid. Kijk goed naar de naam van je geluid, je gaat het nog nodig hebben.
o Ga terug naar het tabblad Code
o Selecteer in de categorie Geluid de blok 'start geluid' en hang die onder de definieer blok.
o Selecteer via de drop-down menu ( ) het geluid dat je daarnet hebt geselecteerd boing
We gaan de bal naar boven laten bewegen (de y waarde groter laten worden), en dit totdat de y-coordinaat van de bal groter is dan 180. Hang deze code onder de code van het geluid:
o Herhaal tot...de y-positie groter is dan (>) 180 graden:
Herhaal tot vinden we in de categorie Besturen
De vergelijking vinden we bij de categorie Functies 50
De y-positie vinden we bij Beweging.
Vergeet niet de rechterwaarde van de vergelijking te veranderen in 180.
o Verander y met 15
Je commando 'Schiet omhoog' is nu klaar!
COMMANDO 2: DE FUNCTIE GA NAAR DE TOP
We hebben nog een tweede commando nodig: Op het moment dat de bal de grond raakt, willen we dat hij opnieuw bovenaan start en terug naar beneden valt.
- Bij de categorie Mijn Blokken, maak een blok die heet 'Ga naar de top'
- Je krijgt nu een blok 'Definieer Ga naar de top'. Voeg aan deze knop de volgende code toe:
- o Bij de categorie Beweging, selecteer de knop: Ga naar x:0 y:0
- o Vervang bij y de 0 in 250. 250 is het hoogste punt van het scherm
- o Voor x gaan we een willekeurige positie op het scherm kiezen: Dit doen we door bij de categorie Functies, te kiezen voor de blok willekeurig getal tussen 1 en 10.
- o Vervang de 1 in -250 (= het linkse uiteinde van het scherm) en de 10 in 250 (=het rechtse uiteinde van het scherm)
Je code zou er nu zo moeten uitzien:
COMMANDO GA NAAR DE TOP GEVEN EN UITVOEREN
In het begin van het spel, gaan we ervoor zorgen dat de bal zich bovenaan het speelveld bevindt. Dit doen we door de blok 'ga naar de top' toe te voegen aan de code die we al eerder hadden gemaakt.
Daarnaast willen we ook dat onze bal terug naar de top beweegt op het moment dat hij op het gras valt. Dit doen we met volgende instructie:
- Als de bal het gras raakt, dan ga naar de top:
- o Zoek een als .... dan blok in de categorie Besturen.
- o Voeg deze toe aan de herhaal blok, onder de verander blok.
- o In het lege vakje komt de voorwaarde die juist moet zijn, voordat we de instructies in de als-dan blok uitvoeren. In dit geval moet de bal de grond raken. Als dat zo is, dan gaan we naar de top:
- Voeg de 'raak ik' blok toe in de voorwaarde. Je vindt deze bij de categorie Waarnemen. Verander 'muisaanwijzer' in de naam van je sprite die de grond voorstelt.
- Voeg in de als-dan lus, de blok 'ga naar de top' toe.
Test je code! Zie je je bal naar beneden vallen? En komt hij nadien opnieuw bovenaan tevoorschijn? De max! We zijn er bijna!
EN NU DE VIDEO!
De laatste stap is de video functionaliteit. We gaan immers echt jongleren, wat wil zeggen dat we onze video nodig hebben.
Om dat te doen moeten we eerst de video functionaliteit aanzetten!
- In de categorie Video, selecteer nu het blokje 'zet video aan' en sleep dit helemaal bovenaan als eerste blok bij de code 'Wanneer op de groene vlag wordt geklikt'
Tenslotte moeten we nog programmeren dat als we de bal aanraken, hij dan omhoog wordt geschoten. Hiervoor hebben we opnieuw een ALS-DAN blok nodig:
ALS de video beweging van de sprite groter is dan 20, DAN voer het commando SCHIET OMHOOG uit
Voeg deze blok toe aan de herhaal-lus, onder de verander y met... blok
TESTEN!
Test nu je spel! Belangrijk om te weten is dat er best zo weinig mogelijk dingen op de achtergrond te zien zijn. Een witte muur is ideaal!
TWEEDE BAL
Met 1 bal is het spel wel vrij makkelijk natuurlijk. Daarom gaan we voor voldoende uitdaging zorgen en nog een tweede bal toevoegen.
Programmeurs zijn lui! Dus we kopiëren gewoon de eerste bal. Het handige hieraan is dat de code mee gekopieerd wordt! Check!
- Klik op de bal waarvan je al code hebt geschreven
- Klik op de rechtermuisknop
- Selecteer 'dupliceren'.
Et voila! Je bent klaar!
UITBREIDINGEN
Er zijn oneindig veel coole uitbreidingen! We zetten er een aantal op een rij:
- Voeg strafpunten toe: per keer dat je bal de grond raakt krijg je een strafpunt
- Voeg een klok toe die aftelt
- Voeg levels toe: we starten met 2 ballen. Elk level komt er een extra bal bij!
Je kan er ongetwijfeld zelf nog coolere bedenken!