6
Giga is er weer
In de laatste les gaan we weer met Giga spelen. Ze zit dit keer niet in een doolhof, maar in een gezellig parkje, maar… is het wel echt gezellig? Ga maar snel naar Scratch Les 6. Daar staat dit spel:
Wandelen maar!
We gaan Giga eerst laten lopen door het level met pijltje naar links en pijltje naar rechts. Jij weet natuurlijk hoe dat moet he? Zo:
Als je wilt dat ze ook nog de goede kant op kijkt, kun je haar ook om laten draaien, zo:
Let dan wel op de goede draaistijl zoals we bij les 2 hebben uitgelegd!
Dat werkt goed, maar, Giga hapert een beetje he? Dat heb je misschien bij andere spellen ook gezien. Als je op de pijl drukt, duurt het even voor ze gaat bewegen en het is een beetje schokkerig. Je kunt haar ook wat vloeiender laten bewegen, dat gaat zo:
Probeer maar eens links en rechts en kijk naar het verschil. Vergeet niet de groene vlag aan te klikken!
Opdracht: Maak jij het nu af voor naar links?
Als een mesje door de boter
Zo, vloeiend twee kanten op:
Een spring in het veld
Opdracht: Nu willen we ook nog dat Giga gaat springen! Dat moet met de spatiebalk gebeuren. Kun jij dat maken?
Een paar tips:
- Vergeet niet dat Giga natuurlijk ook naar beneden moet.
- Twee blokken achter elkaar gaan heel snel. Laat haar even wachten tussendoor.
Ik denk dat je nu zoiets hebt gemaakt:
Dat werkt wel, maar niet zo heel mooi he? We zouden liever willen dat Giga langzaam omhoog en omlaag gaat. Opdracht: Weet jij hoe dat moet? In stapjes omhoog en omlaag dus.
Kijk, zo gaat het:
Op de muur
Je hebt vast al gezien dat er ook een muur in dit spelletje zit. Maar de muur is nog even onzichtbaar. Het is nu tijd om de muur te laten verschijnen!
Kilk op de van de muur:
Klik nu in het vakje achter
Zo, daar is de muur:
Opdracht: Probeer nu eens op de muur te springen. En er weer af. Lukt dat? Waarom wel of niet?
Dat gaat niet helemaal goed he? Dat komt omdat we altijd evenveel omhoog of omlaag gaan. Dat moet jij gaan veranderen.
Opdracht: Kun je Giga altijd tot de grond of muur laten vallen?
Hint: ze zijn allebei bruin 🙂
Misschien heb je dit gemaakt. Dat is al bijna goed, maar niet helemaal.
Ga eens op de muur staan. Beweeg nu Giga naar links of rechts, zonder te springen.
Wat gebeurt er nu? Die gekke Giga. Ze hangt in de lucht!
Opdracht: Hoe moeten we dat oplossen? Weet jij het?
Het gaat zo:
We moeten altijd vallen, niet alleen maar nadat we omhoog zijn gegaan.
Door de muur…?
Dat gaat goed, maar! Die Giga kan gewoon door de muur heen wandelen!
Dat willen we niet. Ze moet bij de muur stoppen en niet verder gaan. Kun jij het zo programmeren? Laat haar een geluid maken als de muur raakt.
Misschien heb je dit gemaakt:
Dat werkt goed tegen de muur, maar niet op de muur. Want op de muur raakt Giga de muur ook met haar voetjes! We moeten er dus nog iets bij zetten. Alleen als de hoogte van Giga niet hoger is dan de bovenkant van de muur, moeten we stoppen en een geluidje maken.
Vraag: Hoe hoog is Giga op de grond?
Vraag: Hoe hoog is Giga op de muur?
Tip: Klik voor Giga’s aan zodat je het beter kunt zien. Dus ergens daar tussen moeten we niet meer bewegen. Zo gaat dat:
Wat schuift dat?
Zo, dat gaat al goed! Maar, in een echt “Mariospel”, schuift het level steeds op als je naar rechts beweegt. Dat gaan we samen maken!
Klik ook eens aan dat je Giga’s kunt zien.
Als de van Giga 0 is, en ze dus in het midden van het level staat, moeten we het level opschuiven. Dan lijkt het net of ze loopt! “Het level” dat is natuurlijk de muur. Die gaat schuiven. We gaan hiervoor een signaal gebruiken.
Opdracht: Kun jij een signaal sturen als Giga de pijl naar rechts indrukt en de 0 voorbij gaat? Noem het signaal ‘schuiven maar’.
Zo:
Nu moet de muur nog schuiven. Hij kan natuurlijk reageren op het signaal.
Opdracht: Laat jij de muur 5 stappen naar links nemen als het signaal ontvangen wordt?
Opdracht: Je volgende opdracht is om de muur steeds rond te laten gaan. Iedere keer als hij op het einde komt, zet m dan weer rechts. Weet jij hoe dat moet?
Er komt geen einde aan
Kijk, het gaat zo:
Giga kan nu eindeloos door het level lopen, is dat niet mooi?
Maar het is nog een beetje saai he? Zullen we er een monster bij zetten?
Kies maar een leuk beestje uit! Of iets heel anders natuurlijk. Misschien komt een ballerina jou wel achterna!
Ownee, een bug!
Ik pak een “Ladybug2”, een lieveheersbeestje. Als je het spel even speelt, zie je nu al dat het monster ook moet schuiven bij het signaal, anders ziet het er gek uit. Opdracht: Zet jij de blokjes goed? Denk eraan dat je de blokken van de ene naar de andere sprite kunt kopieren door ze op een sprite te gooien.
Zo:
Maarja… Giga springt nu gewoon over de bug heen. Niet echt moeilijk. We gaan maken dat hij steeds op en neer loopt, zoals een Goomba bij Mario.
Wiebel, wiebel
We doen het samen stap voor stap! We maken hiervoor een variabele. In de variabele gaan we opslaan welke kant we op moeten gaan. Maak een variabele ‘kant’. Zet de kant bij het begin van het spel op ‘links’. Zo:
Nu gaan we Ladybug laten bewegen. Als kant op links staat, naar links. Anders naar rechts. Opdracht: Weet jij hoe? De oplossing staat natuurlijk verder op.
Het moet zo:
De bug gaat mooi naar links he? Typ nu bij het begin naar eens ‘rechts’ in. Nu gaat hij naar rechts! Nu hoeven we alleen de variabele ‘kant’ nog te veranderen als Ladybug de muur of de rand raakt. Opdracht: Kun jij het voor me maken?
Opgelost!
Kijk, dat is een mooi duidelijk programma, vind je niet? Er is maar 1 probleem… Vraag: Weet jij wat? Laat Giga eens snel door het level rennen? Wat gaat er dan mis? Ja, die bug kan soms vastplakken in de muur!
We willen dat hij pas verschijnt als de muur al een eindje weg is. Pas als de muur op x = 100 is mag de bug in beeld komen. Opdracht: Kun jij het maken?
Zo, dat is beter he?
Een doorloper
Het monster loopt al leuk door het spel, maar… ook door Giga. Dat is niet goed. Giga moet gepakt worden. Laat de Ladybug wachten tot hij Giga aanraakt, en stuur dan een signaal: ‘giga is af’. Dat kun je natuurlijk zelf. Het gaat zo:
Stop! Bug time
Als ze het signaal ontvangt, is Giga af. We gaan een nieuw blok gebruiken om het hele spel te stoppen: het blok . Het staat bij . Laat het spel stoppen als Giga het signaal krijgt, zo:
Tof! Maar… nu stop het hele spel. Giga kan ook niks meer zeggen of geluidjes maken. Stoppen betekent dus niet ‘stilstaan’. Het betekent dat Giga helemaal niks meer doet. Het zou wel cool zijn als we nog iets in beeld krijgen. Dat kan natuurlijk! Met programmeren kan (bijna) alles!
Game over!
We gaan een nieuwe sprite maken: “GAME OVER”. Kijk met me mee.
We maken een nieuwe sprite, maar anders dan anders! We klikken niet op maar op . Nu kunnen we zelf een sprite tekenen, de letters”game over”.
Kies daarvoor en klik daarna midden in het grijze vak. Dat is bij de twee gele pijl. Er staat daar ook een klein plusje.
Type nu “GAME OVER” en kies een mooie kleur onderin. Ik heb rood gekozen. Je mag natuurlijk ook iets anders schrijven, maar maak het niet te stout he?!
Klik nu ergens in het veld, en je ziet je GAME OVER staan.
De sprite heeft nu ‘sprite1’. Dat vinden we geen goede naam. Dan weet je toch niet wat het is? Noem de sprite dus ‘Game Over’. Dat doe je bij . Klik daarop, dan zie je dit:
Typ de nieuwe naam in bij de pijl en de duw dan op . Dat is beter he? Zet ‘Game Over’ maar neer waar je wilt. Opdracht: Nu komt jouw volgende programmeeropdracht: Laat de ‘Game over’ spite verdwijnen als het spel begint, en verschijnen als Giga af is. Zet m op!
Zo moet het:
Een verpletterend succes
Vind je het al een leuk spel? Het is wel jammer dat we die bug niet te grazen kunnen nemen he? Zullen we die bug eens pletten? We maken hiervoor een nieuw uiterlijk bij de bug. Kopieer uiterlijk ‘labybug-b’ door er met de stempel op te drukken. Om de bug staat nu een geel vierkantjes met kleine blokjes eraan. Je kunt de bug plat maken door het gele vierkantje te slepen:
Verander ook de naam in ‘geplet’ bij de gele pijl. Nu moeten we bekijken of Giga de bug van boven of van de zijkant raakt. Dat gaat net als bij de muur, we gaan hun y-posities vergelijken. We beginnen met een blok bij het aanraken in de code van de LadyBug, zo:
Vraag: Wat moet er nu in het lege droehoek blok?
Tip: Ga naar Giga en zet weer een bij zodat je beter kunt zien waar Giga is. Maak jij het af?
Zo!
Giga zakt nu alleen door de bug heen.
Opdracht: Kun jij haar echt erop laten landen?
Tip: Kijk hoe je op de muur landt en gebruik daar een blok.
Zo gaat dat:
Is deze bug resistent?
Die platte bug blijft nu rondlopen. Dat is een beetje gek he? De bug moet dus weggaan als hij geplet is. Laat jij m verdwijnen na een tijdje? Bijvoorbeeld een halve seconde?
Opdracht: Maak jij het?
Tip: We hebben al een paar blokjes om LadyBug te laten verschijnen. Misschien kun je die wel “hergebruiken”?
Ik heb het zo gedaan. De blokken van het begin heb ik in een blok gezet “verschijn rechts”, zo:
Dat blok kun je twee keer gebruiken!
Er is alleen nog 1 ding mis… Bug blijft geplet!
Opdracht: Verander jij z’n uiterlijk?
Tip: Dat wil je ook steeds doen!
Dat kun je in het ‘verschijn rechts’ blok doen.
Dan hoef het het niet meer bovenin te doen:
Stop of ik plet!
Nog 1 ding is gek he? LadyBug blijft bewegen terwijl je ‘m plet.
Opdracht: Kun jij m laten stoppen?
Tip: Gebruik hiervoor weer , maar zet de waarde nu op ‘geen’. Denk er ook aan dat je kant terug moet zetten van ‘geen’ naar links als de Bug verschijnt. Dat hoeft dan ook niet meer in het begin.
Dit is alle code voor de LadyBug:
Je kunt het natuurlijk helemaal anders maken, met punten, geluidjes of wat je maar wilt. Als je klaar bent, kun je je spel toevoegen aan de Studio. Je bent nu klaar met je training en je mag je een heuse programmeur noemen!!