4

Al dat lekkers is ver weg!

Hassan de Hond is gek op lekker eten: bananen, taco’s, taartjes, watermeloenen en muffins. Hij lust dat allemaal graag!
Maar….. helaas ligt al dat lekkers aan de overkant van een drukke weg.

Kun jij Hassan helpen met oversteken? Ga naar Scratch les 4. Je ziet daar dit:

week4-image2

Auto – matisch

Voor we aan het oversteken beginnen, gaan we eerst de auto laten rijden. De hoogte (y) van de auto is al goed. Die staat op -80. We hoeven dus alleen de x te veranderen. Daarvoor kunnen we een week4-image3 blok gebruiken. Pak een week4-image4 en plak het week4-image3 blok daaronder.

Vraag: Wat doet dat?

Nu moet de auto natuurlijk nog rijden. Daarvoor gaan we x steeds een beetje hoger maken. Weet je nog van les 1 hoe dat moet? Precies, met een week4-image5.
Opdracht: Maak jij het programma af?
Tip: er moet nog één blokje bij.

Het moet zo:
week4-image6

Maar dat wist jij vast al!

We zouden alleen graag willen dat de auto steeds langsrijdt. Daarvoor hebben we nog een week4-image7 nodig. Want we willen rijden (dat is al steeds herhalen) zelf ook weer herhalen.
Opdracht: Zet er maar eens een extra week4-image7 in het spel en probeer het spel uit.

Een lekke band?

Ik denk dat je dit geprobeerd hebt:

week4-image8

Maar dat werkt helaas niet, de auto blijft op het einde steken.

week4-image9

Heeft de auto soms een lekke band? Nee! De auto blijft steken omdat het week4-image10 nooit afgelopen is. Je kunt dat ook zien omdat het geen ‘haakje’ aan de onderkant heeft. Dus de auto kan niet verder, maar het programma draait wel door. Dat is niet goed.

Waar zit de rem?

Van vorige week ken je vast nog het week4-image11 blokje. Dat kunnen we hier inzetten. Haal het binnenste week4-image7 blok weg en vervang het door een week4-image11 blok.

Zo:

week4-image12

week4-image13Wat moet er nu in het driehoekje terecht komen? We zouden kunnen kijken of de auto al ‘ver genoeg’ is. Hiervoor kun je bij week4-image14 het blokje  week4-image57 gebruiken. Als je het blokje niet ziet, scroll dan een beetje naar beneden, zoals in het plaatje links.

week4-image57 is een soort variabele waar Scratch automatisch de x-positie (links-rechts) van de auto in zet.

 

 

 

 

Nu moeten we nog iets met de week4-image57 doen! Met het week4-image16 blok kun je kijken of een waarde groter is dan een andere waarde. Dat gaan we gebruiken in de week4-image11. Als week4-image57 groter is dan 240, dan moet de auto opnieuw beginnen. Dan zijn de namelijk aan de rechterkant van het veld. Pak een week4-image16, stop er aan de linkerkant een week4-image57 in, en typ rechts 240.

 

 

Zo:

week4-image17

Dat is een goede racewagen he?!

Veiligheid eerst

Die snelle auto blijft nu steeds langsrijden. Dat is gevaarlijk als je lekkere hapjes wil eten aan de overkant. Hassan moet dus kijken of het veilig is en jij gaat hem daarbij helpen.
Opdracht: Als jij zelf gaat oversteken, wat doe je dan? Schrijf het maar eens op. Je hoeft dus even niet aan programmeren te denken!

Algoritme

Je wist het misschien niet, maar jouw oversteekplan, dat is al een ‘algoritme’. Algoritme is een programmeerwoord voor een plan van aanpak. Eerst doe ik dit, dan dit. De blokken van de quiz van vorige les is ook een algoritme: Als de aanwijzer op roze staat en het antwoord is goed, dan krijg je 2 punten, anders 1. Als het antwoord fout is, krijg je 0 punten.

Dat is eigenlijk helemaal niet moeilijk he?

Probeer jouw oversteekplan van de vorige vraag nu eens in blokjes te zetten. Dat hoeven geen echte Scratch blokjes te zijn, je mag bijvoorbeeld gewoon ‘steek over’ in een blok zetten. Schrijf het weer op voor jezelf. Er is dus een verschil tussen je algoritme, en de blokjes die het algoritme uitvoeren. De blokjes noemen we met een moeilijk programmeerwoord de ‘implementatie’.

Kijk links, kijk rechts, kijk links. Steek over!

Als jij oversteekt, kijk je goed links en rechts. Hassan is een computerbeest, dus die heeft daar andere truukjes voor :-). Er is een speciaal blok dat kijkt hoe ver een andere ‘sprite’ weg is. Dat is het week4-image18.

Opdracht: Hoe ver is de auto nog weg? Laat Hassan steeds de afstand zeggen.
Tip: Je kunt het week4-image19 blokje van vorige les gebruiken om er een mooie zin van te maken. Bijvoorbeeld: “De afstand tot de auto is nog: ”en dan de afstand. Weet jij hoe dat moet?

Alle blokjes die je nog hebt, die ken je al!

Kijk, dat gaat zo:

week4-image20

Ik heb de auto ook iets langzamer laten rijden zodat je wat beter kunt zien wat de afstand is. Dat kun jij ook doen. Maak van de 10 een lager getal, bijvoorbeeld 2.

week4-image21

Iets te veel cijfers

Dit werkt wel, maar… we krijgen wel een heel lang getal he?

week4-image22

Je kunt een week4-image23 blokje bij week4-image24 pakken om het getal af te ronden.
Vraag: Weet jij waar dat blokje moet komen?

Precies! Het gaat zo:

week4-image25

Dat is al beter he?

week4-image26

Meten is weten

Nu gaan we Hassan laten oversteken. Oversteken is veilig als de auto ver genoeg weg is. Laten we zeggen: de afstand is groter dan 200. We gaan Hassan dan “oversteken maar” laten zeggen. Als het niet veilig is, moet hij zeggen: “wachten”.

Opdracht: Weet jij hoe dat moet? We hebben deze les een handig blokje geleerd dat je kunt gebruiken, de week4-image16.

De andere blokjes die je moet gebruiken ken je al van eerdere lessen.

Je mag week4-image28 nu weghalen:

week4-image30

Zet ‘m op!

Kijk, dat doe je zo. We hebben Hassan ook even in de linkerhoek laten beginnen. Dat komt straks van pas!

week4-image31

Klaar? Over!

Dat ziet er veilig over. Laat Hassan nu maar echt de straat oversteken. We gaan daar een week4-image32 blok voor gebruiken. Ken je die nog van les 1? Om je geheugen op te frissen: Een week4-image32 beweegt een sprite in 1 seconde naar een plek. In dit geval naar -180 en -130.
Opdracht: Weet jij waar het schuif blok moet komen? En welke getallen je in moet vullen?

Probeer het maar eens!

Je mag de week4-image33 en week4-image34 blokjes laten staan.

Zo doen we dat, kijk:

week4-image35

Wachten tot je een ons weegt

Dat werkt wel, maar Hassan blijft nu wel steeds ‘oversteken maar’ en ‘wachten’ zeggen. Dat willen we niet, hij moet dat alleen zeggen voordat hij oversteekt. Daarna gaat hij namelijk lekker smullen! We gaan ons programma dus een beetje aanpassen, met een nieuw blok, het week4-image36 blok. Een wacht tot, ja, die wacht tot iets zo is…

We kunnen Hassan precies hetzelfde laten doen, als we het zo programmeren:

week4-image37

Zo ziet het nieuwe programma er uit naast de oude versie:

week4-image37c

Ze doen (bijna) hetzelfde!

Die linkse is een stuk makkelijker te lezen, toch? En we kunnen nu ook onderaan verder programmeren, omdat de laatste  een ‘haakje’ heeft aan de onderkant. We kunnen daar een week4-image52 neerzetten zodat Hassan geen ‘oversteken maar’ meer zegt na het oversteken.

Doe dat maar eens, zo:

week4-image40

Herhaalverhaal

Een week4-image41  met een week4-image42 zijn perfect als je altijd iets wilt doen. Bijvoorbeeld: altijd als ik de muur raak, zeg ik “auw”. Dat deden we in les 1. Maar als je daarna verder wilt programmeren, is een week4-image36 meestal beter. Er is nog één ding dat je moet weten over de week4-image36.

Een ‘sprite’ kan niets anders doen terwijl hij staat te wachten. Hassan zegt wel ‘wachten’, maar dat heeft hij al gezegd voordat hij gaat wachten!Als je wilt dat een sprite bijvoorbeeld loopt, en wacht tot je op de spatiebalk drukt, dan moet je geen week4-image36 , maar een week4-image38 gebruiken. Onthoud: wachten tot = stilstaan!

Aan de wandel

Hassan is nu aan de overkant van de weg. Laat hem nu helemaal naar rechts lopen, zodat hij alle lekkere hapjes aanraakt. Hiervoor kun je ‘m naar x = 240 laten schuiven. Weet jij hoe dat moet. Vast wel! Maak het maar!

Het gaat zo:

week4-image44

Je kunt ook iets minder ver schuiven dan 240, dan gaat Hassan niet zo ver uit beeld.

Hap, slik, weg!

Nu moeten de lekker hapjes nog verdwijnen als Hassan ze pakt. Dat hebben we in vorige lessen ook al geprogrammeerd, dus dat lukt je vast zelf.

Opdracht: Laat alle hapjes:

  • Verschijnen als je op week4-image45 drukt
  • Verdwijnen als Hassan ze aanraakt.

Tip: Programmeer het eerst voor de watermeloen. Daarna kun je de blokken kopieren naar de andere hapjes. Dat doe je door de code op te pakken en op een andere sprite loslaten.

De blokken kopieren dan vanzelf, zo:

week4-image46

Als je het blok nu loslaat, komt het vanzelf in de taco. En het blijft ook in de watermeloen. Probeer maar eens!

Rommel de bommel

Is het gelukt met programmeren en kopieren? Je hebt vast gezien dat Scratch de blokken wel op elkaar gooit.

week4-image47

Dat werkt wel, het maakt Scratch geen biet uit hoe het staat. Maar, het is niet echt mooi he? Je kunt de blokken zelf los maken, maar dat is een hoop werk. je kunt ook shift indrukken en dan klikken op het grijze vlak. Kies dan opruimen. Dan zet Scratch alles recht. Handig! Kon dat bij je kamer ook maar :).

week4-image48

Het resultaat:

week4-image49

Beter, toch?

Driegangenmenu

Hassan smult erop los, maar wel alles door elkaar! Eerst een banaan, dan een taco, dan taart, dan een watermeloen en dan nog een cakeje. Dat kan eigenlijk niet he?? Zou hij niet eerst wat fruit moeten eten, dan de taco en dan een toetje?

Dat gaan we nu programmeren. We gaan dus steeds naar de onderkant van de weg, dan lopen we naar de goede plek, en dan steken we (veilig!) over.

Even stevig blokken

Hassan moet nu vaak moet gaan oversteken. Daarom gaan we, net als in les 2, een nieuw blok maken. Anders krijgen we zeker veel dezelfde blokken. We maken eerst een eigen blok voor ‘oversteken’:

week4-image50

Nu pakken we alle blokken die bij het oversteken horen. Dat is alles vanaf week4-image51 tot week4-image52Let op: het week4-image53 blok hoort niet bij het oversteken. Dat doet Hassan aan de andere kant van de weg. We krijgen dus dit:

week4-image56

Werkt dit altijd goed?
Opdracht: Verander de x eens in het bovenste blokje. Daar waar de gele pijl staat. Probeer eens 50. Werkt dat nog wel?

Een ongelukje!

Ai! Hassan steekt nu helemaal schuin de weg over! Zo onder de auto!!

week4-image55

Vraag: Welk blokje is er fout? Weet jij wat er wel moet staan? Weet je nog hoe je weet waar Hassan precies staat?

Het moet zo:

week4-image56b

We pakken de  waar Hassan al staat, en schuiven alleen de y. Let op: we laten Hassan nu weer gewoon op -180 beginnen. Dat is links onder. Pas jouw eerste blokje ook even aan (bij de gele pijl) Omdat hij de hapjes op volgorde moet pakken, weten we al dat Hassan ook weer omlaag moet oversteken. We kunnen daar een tweede blok voor maken: ‘oversteken terug’.

Opdracht: Maak dat blok maar. Het lijkt heel veel op het ‘oversteken’ blok, dus dat kun je kopiëren als een mooi startpunt.

Helaas kun je een week4-image58 blok niet meteen kopiëren. Als je shift-klikt krijg je geen ‘kopie maken’. Maar je kunt wel op het eerste blokje gaan staan en dan shift-klikken. Zo:

week4-image59

Tip: We moeten nu omlaag lopen, dus schuif omlaag in plaats van omhoog.

Als je week4-image60 gemaakt hebt, plak dan een  onderaan het bovenste script. Dat is onderweek4-image53.

Krijg het heen en weer

Met het week4-image62 blok en de week4-image60 ziet het programma er zo uit:

week4-image63a

Hassan wacht nu boven de straat ook heel netjes tot de auto voorbij is!

week4-image64

Een veilig smulfestijn

Opdracht: Maak jij het spel nu verder af? We gaan er een mooi diner van maken:

  1. Eerst de twee stukken fruit. Fruit mag altijd! De volgorde maakt niet uit.
  2. Dan de taco.
  3. Dan 1 toetje. Dus of de taart, of het cakeje. Jij mag toch ook geen twee toetjes thuis?

Hassan zal dus iedere keer de weg moeten oversteken, want anders eet hij de hapjes niet in de goede volgorde.
Begin met de watermeloen, want de banaan is wel heel makkelijk.

Het blok week4-image53  heb je nu niet meer nodig, want je gaat boven de weg toch niet meer in één keer naar de rand lopen.

Haal dat maar weg:

week4-image63

Nu kun jij het spel helemaal afmaken, toch? Het zijn een hoop blokjes, maar jij bent nu al bijna een volleerde programmeur!

Tip: Bij week4-image65 kun je de plaats van alle sprites vinden. Pak week4-image66 en klik op de driehoek. Daar kun je dus ook week4-image67 van maken. Schuif daar maar eens heen om te beginnen!

Dit is het hele spel:

week4-image68

Het is nu helemaal af! Je kunt natuurlijk weer aanpassen. Zet er een tweede auto bij of laat Hassan een rondje draaien van plezier als hij alles op heeft. Het allermooiste is nu als je de hapjes in een ander volgorde legt. Sleep ze maar eens rond. Steekt Hassan nog steeds goed over? En eet hij de hapjes nog steeds op de goede volgorde op? Ja he? Dat komt omdat we het zo goed geprogrammeerd hebben! Misschien vind je het niet mooi dat we steeds week4-image69 achter elkaar hebben. Als je dat vindt, heb je helemaal gelijk! Maak dan gerust een extra blok en noem het bijvoorbeeld ‘heen en weer’. Je kunt daar  weer aan vast plakken. Dan heb je een eigen blok met eigen blokken erin. Dat kan gewoon!

Licentie

Icoon voor de Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License

Scratch: Maak je eigen games Copyright © 2016 by Felienne Hermans is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License, except where otherwise noted.

Deel dit Boek