2
Diep in de zee
Gerrie de diepzeevis heeft honger! Hij lust graag andere visjes, maar zorg dat hij zich niet verslikt in giftige vissen! Ga naar Scratch les 2. Daar staat dit spel:
Bewegen
Weet je nog van les 1 hoe je een poppetje moet laten bewegen?
Opdracht: Zorg jij ervoor dat Gerrie links, rechts, omhoog en omlaag kan bewegen.
Is het gelukt? Vind je het er mooi uitzien als Gerrie achteruit (naar links) zwemt? Beetje gek he? Gerrie kan ook echt achteruit zwemmen met ander uiterlijk. Klik op bovenin. Let op, kies dus niet .
Nu zie je de twee verschillende “outfits” van Gerrie, rechts en links.
Opdracht: Kun jij het zo maken dat Gerrie naar links kijkt als je op pijltje naar links duwt?
Lukt het niet? Kijk maar hieronder.
Zwemmen maar!
Help!
Dat ziet er al goed uit he? Zwem maar eens naar het paarse visje, de PurpleFish. Nu maken we het wat spannender, we gaan de PurpleFish opeten. Maar eerst moet hij maar eens om hulp roepen :).
Weet je nog van vorige les hoe je kan bepalen of het ene poppetje het andere aanraakt? Ga naar de code van de PurpleFish.
Kijk nu maar eens bij of je de juiste blokjes nog weet je vinden om steeds te kijken of de PurpleFish al gevangen is.
Opdracht: Laat PurpleFish “Help!” zeggen als Gerrie ‘m te pakken heeft.
Denk maar terug aan het spook dat Giga probeerde te vangen in Les 1. Als het niet lukt, kijk dan maar hieronder.
Hap Hap!
Probeer het spel eens uit. Het is een beetje saai zo, vind je niet? Want dit paarse vis blijft gewoon staan. Zo kan je ‘m blijven pakken.
We gaan programmeren dat de vis verdwijnt als je ‘m opeet. Ga naar het programma van de PurpleFish. Dat kun je ook bij doen, met een blokje . Haal het blokje weg en zet er een voor in de plaats.
Kom terug, visje!
Probeer het spel nu eens. Dat werkt goed, zelfs iets te goed! De vis komt niet meer terug. Maar dat kun je oplossen met een blokje.
Opdracht: Laat het visje na 1 seconde weer terug komen. Weet jij hoe dat moet?
Je vindt het antwoord hieronder.
Dit werkt, maar het spel is zo wel een beetje makkelijk. We gaan de vis nu op een willekeurige plek laten verschijnen. Willekeurig betekent dat het iedere keer weer anders is. Ga naar en kies . Misschien staan er bij jou andere getallen, dat geeft niks. Sleep dit blok voor het blok.
Nu gaan we een willekeurig getal pakken. Ga naar en pak . Stop dat in de ronde gaten van . Zo:
Werkt dit goed? Nog niet helemaal perfect he?
Opdracht: Probeer eens andere getallen in te vullen in en kijk wat er gebeurt.
Tip: probeer ook eens een getal onder nul in het eerste rondje.
Extra willekeurig
Dat is al best mooi! Maar de PurpleFish begint nu vanaf de plek waar hij staat. Dat is te makkelijk. Bovendien, als je het spel stopt wanneer de vis net opgegeten is, komt hij nooit meer terug. Probeer dat maar eens!
Dat is een beetje jammer he? De vis moet dus aan het begin van het spel ook verschijnen en op een willekeurige plek beginnen. Pak eerst een extra blok:
Nu willen we ook het blok herhalen. We kunnen al die blokjes opnieuw slepen, maar dat is veel werk. Echt programmeurs houden niet van veel werk. Ze houden van slim werk! Dus we gaan dat blok kopieren. Duw shift in, en hou shift ingedrukt terwijl je op het blauwe blok klikt, ergens bij de ‘y’ in de buurt. Zo:
Als je nu op klikt, krijg je een kopie:
Die sleep je met gemak op de goede plek!
Tip: Aan de kleur van het menu dat verschijnt, kun je zien welk blok je gaat kopieren. Ons menu is blauw, dus dat betekent dat we het blok kopieren.
Met het ‘shift klik’ menu kun je ook blokken verwijderen.
Buikje rond
Dat gaat goed, de PurpleFish begint steeds ergens anders en raakt niet kwijt. Tijd voor de volgende stap! Als je gegeten hebt, dan groei je natuurlijk. We gaan Gerrie wat groter maken als hij een vis op heeft. Dat is een moeilijk probleem.
Want, Gerrie kan geen gebruiken. De PurpleFish is verdwenen, dus Gerrie raakt hem niet aan.
Om dat op te lossen, gaan we gebruik maken van een ‘signaal’. Een signaal is een soort geluid dat sprites maken. Alle andere sprites kunnen dat horen. Zoiets als “buut vrij” roepen bij verstoppertje.
PurpleFish gaat een signaal sturen naar Gerrie, zodat Gerrie weet dat hij een visje opgesmuld heeft. Bij vind je . Weet jij waar het blok moet? Denk eraan: Dat signaal moet verstuurd worden als de PurpleFish is gepakt. De oplossing vind je natuurlijk hieronder weer.
Hallo? Zie er iemand wat?
Gerrie “hoort” het signaal, en hij kan er nu op reageren. Ga terug naar de code van Gerrie.
Sleep nu het blok naar de code.
Opdracht: Laat Gerrie nu “Jammie!” zeggen als hij een PurpleFish pakt. Je weet vast hoe dat moet!
Kijk, zo moet het:
Mooizo! Nu moet Gerrie nog groeien. Groter maken kun je bij doen met Weet jij waar het blok moet?
Opdracht: Reset de grootte ook weer als je het spel opnieuw start met de groene vlag. Dat doe je met . Vul zelf 80 in als er bij jou een ander getal staat. Het hele programma staat hieronder.
Tip: De volgorde is belangrijk: Als je eerst het en dan pas het blok neerzet, dan wacht Gerrie 1 seconde en groeit dan pas. Dat werkt wel, maar ziet er niet zo mooi uit.
De vis laat zich niet vangen!
Je kunt het spel nog spannender maken door de paarse visje ook te laten bewegen. Laat hem steeds 5 stappen nemen en omkeren aan de rand. Weet je nog hoe dat moet? Spiek maar bij de code van het Spook uit les 1.
Variatie: Je kunt ook een ander getal dan 5 kiezen, probeer maar eens verschillende nummers uit!
Zo wordt het al best een spannend spel!
Tip: Het “beweeg” gedeelte van de vis staat nu bij de rest van de blokjes. Dat hoeft niet, je kunt het ook zo doen:
Dat werkt hetzelfde, maar dat ziet er netter uit, vind je niet?
Als we programmeren willen we dat zo netjes mogelijk doen. Onderzoekers van de TU Delft hebben bewezen dat kleinere groepjes blokken makkelijker te lezen zijn. Gebruik dus kleine groepjes als dat kan!
De “op z’n kop” vis!
Zoals je ziet in het plaatje hieronder, en ook in je eigen spel, die gekke PurpleFish gaat soms op z’n kop als hij omdraait. Dat is wel grappig maar ook een beetje gek, vind je niet?
Je kunt dat veranderen, bij de instellingen van de vis. Klik op de .
De “draaistijl” staat nu op . Dat betekent dat het visje rondraait. Als je nu kiest, dan draait de vis wel van links naar rechts, maar niet op z’n kop. Als je kiest draait de vis helemaal niet om. Dat mag natuurlijk ook als je dat mooier vindt.
Giftige vissen!
We gaan ook nog een giftige vis toevoegen, die lust Gerrie dus niet! Ga naar en kies de rode vis uit (bij dieren). Maar je mag ook iets anders kiezen zoals een haai of een inktvis of een appel. Het is jouw spel!
Opdracht: Als Gerrie de rode vis opeet, is hij “af”, hij krimpt helemaal tot 20%. Weet jij hoe je dat moet programmeren?
Kijk, het gaat zo:
Fish3 is een echte gemenerd. Als Gerrie tegen hem aan zwemt, zegt hij: “HAHAHAHA!”
Opdracht: Weet jij hoe je dat moet maken? tip: Gebruik hiervoor weer een signaal, want als Gerrie krimpt, dan raakt hij de rode vis niet meer! Je moet nu wel een nieuw signaal maken, want “hap” is al in gebruik voor de PurpleFish.
Kies bijvoorbeeld “raakRodeVis”. Hieronder staan bladzijde de goede programma’s voor Gerrie en Fish3.
Variatie: Je kunt het spel natuurlijk ook een beetje anders maken! Bijvoorbeeld door andere blokken bij zetten. Misschien denkt Gerrie “potjandorie” als hij af gaat. Of misschien maakt hij wel een geluidje? Of begint hij steeds als hij afgaat weer boven in de hoek? Of misschien zegt de PurpleFish ook “Haha”? Maak er maar wat moois van!
De vis komt naar je toe!
Zullen we de giftige vis ook laten bewegen? We kunnen hem op Gerrie af laten komen.
Pak daarvoor het blok en stel het in op . Dat betekent dat Fish3 steeds naar Gerrie toe kijkt. Stop in een herhaalblok, en laat de vis ook steeds wat stapjes zetten.
Opdracht: Maak jij het programma af? Tip: Maak de vis wel een beetje kleiner met , anders is het wel heel moeilijk.
We zien dubbel!
We gaan nog één verbetering aan het spel maken. Als je in de code van PurpleFish kijkt, zie je dat twee blokjes samen, twee keer voorkomen. Vraag: Weet jij welke
Het zijn deze twee:
Blokken die twee keer voorkomen, daar houden programmeurs niet van. Het maakt de code te lang. En, als we iets moeten veranderen, dan moet dat twee keer. Dat klinkt als veel werk en dat vinden we maar niks!
Om de code mooier te maken gaan we ons eigen blok maken. Is dat niet tof? Het gaat zo:
Ga naar en kies dan .
Je krijgt nu een pop-up venster:
Klik op en vul daar een naam in voor je blok. Bijvoorbeeld verschijnopWillekeurigePlek:
Klik op OK. Je krijgt nu een nieuw blok:
Daar gaan we de twee herhaalde blokken aan vast plakken, zo:
Tip: Als je vastpakt, gaat het blok vanzelf mee. Misschien heb je ook gezien dat we bij een nieuw blok gekregen hebben:
In dat blok zitten nu de twee blokken die we aan hebben geplakt. We kunnen de blokken en dus weghalen, en ervoor in de plaats een zetten.
Opdracht: Weet jij hoe dat moet?
Tip: Met ‘shiftklik’ kun je ook blokken verwijderen. Let wel op dat je niet te veel weg gooit! Maak de blokken eerst los van de blokken die je niet weg wilt gooien.
Dat is veel mooier, vind je niet?
Zo! Dat was les 2. Je mag het spel nu zo aanpassen als je wilt. Deel je jouw spel met ons in de studio?