- Leren
- Informatica & ICT
- Programmeren en digitale geletterdheid voor 7 tot 11 jaar
- Gebeurtenissen en als-dan-anders
Gebeurtenissen en als-dan-anders: keuzes in programma’s
Groep 6Les 3 van 10 in Cursus Programmeren en digitale geletterdheid voor 7 tot 11 jaar
Wat je leert
- Ontdek wat gebeurtenissen zijn en bouw daarna scripts die starten als je een toets indrukt, op een personage klikt, op een knop drukt of een bericht verzendt. Je laat ook meerdere personages tegelijk iets doen.
- Herken gebeurtenissen en de acties die ze startenLeer wat een gebeurtenis is, herken gebeurtenissen in het dagelijks leven en in programma’s en maak onderscheid tussen de gebeurtenis en de actie die daardoor start.
- Bouw scripts die met een gebeurtenis startenBedenk wat er moet gebeuren en waardoor dat gebeurt. Bouw daarna scripts met gebeurtenissen, bijvoorbeeld om een personage met de pijltjestoetsen te bewegen, en probeer elke gebeurtenis uit om te zien of die werkt.
- Laat meerdere scripts en personages tegelijk werkenGebruik één gebeurtenis om meerdere scripts tegelijk te starten, geef elk personage zijn eigen scripts, verzend berichten tussen personages en voorspel wat een programma doet voordat je het start.
- Herken gebeurtenissen en de acties die ze starten
- Leer wat een voorwaarde is. Gebruik daarna als-dan om iets alleen te doen als een voorwaarde waar is en als-dan-anders om tussen twee verschillende acties te kiezen.
- Stel vragen waarop het antwoord waar of onwaar isMaak van alledaagse vragen voorwaarden, controleer of ze waar of onwaar zijn en verbind twee voorwaarden met en, of en niet.
- Gebruik als-dan om iets alleen te doen als een voorwaarde waar isBouw als-dan-blokken, volg ze in een stroomschema en blijf een voorwaarde binnen een lus controleren, zodat je programma merkt wanneer die waar wordt.
- Gebruik als-dan-anders om tussen twee acties te kiezenGebruik als-dan-anders zodat je programma het ene doet als een voorwaarde waar is en iets anders als die onwaar is. Bepaal wanneer je anders nodig hebt.
- Stel vragen waarop het antwoord waar of onwaar is
- Gebruik groter dan, kleiner dan en gelijk aan, zodat je programma kan beslissen door getallen, meetwaarden van sensoren en getypte antwoorden te vergelijken. Kies ook uit meer dan twee mogelijkheden.
- Vergelijk getallen met groter dan, kleiner dan en gelijk aanGebruik de symbolen >, < en = om getallen uit antwoorden, sensoren en posities te vergelijken en bepaal wat er moet gebeuren als de twee getallen gelijk zijn.
- Vergelijk een getypt antwoord met het juiste antwoordStel de speler een vraag, vergelijk wat die typt met het juiste antwoord met behulp van gelijk aan en schrijf vragen waarvan je programma de antwoorden goed kan controleren.
- Kies uit meer dan twee mogelijkhedenZet een als-dan-anders in een andere om één van drie of meer acties te kiezen en zet de controles in een volgorde die de juiste keuze oplevert.
- Vergelijk getallen met groter dan, kleiner dan en gelijk aan
- Bedenk en bouw je eigen quiz en een eenvoudig spel die gebeurtenissen, voorwaarden en vergelijkingen gebruiken om op de speler te reageren.
- Bedenk en bouw een quizBedenk je quizvragen, juiste antwoorden en reacties in een tabel of storyboard en bouw de quiz daarna met vraagblokken, vergelijkingen en als-dan-anders.
- Bouw een eenvoudig spel met regelsSchrijf de regels van je spel als als-dan-zinnen. Bouw ze daarna met gebeurtenissen voor de besturing en voorwaarden die steeds opnieuw binnen een lus worden gecontroleerd.
- Bedenk en bouw een quiz
- Bedenk tests waarmee je elke tak van je keuzes uitprobeert, spoor programmeerfouten bij gebeurtenissen en voorwaarden op en verhelp ze, en maak je programma duidelijker en korter.
- Test elke tak van een keuzeKies testinvoer die elke voorwaarde waar en onwaar maakt, probeer de getallen precies op de grens uit en noteer in een testtabel wat je verwachtte en wat er gebeurde.
- Spoor programmeerfouten bij gebeurtenissen en keuzes op en verhelp zeZoek stap voor stap uit waarom een programma iets verkeerd doet, verhelp veelvoorkomende programmeerfouten bij gebeurtenissen, voorwaarden en vergelijkingen en test na elke oplossing opnieuw.
- Maak je programma duidelijker en korterControleer je programma aan de hand van de opdracht, maak het korter en makkelijker te lezen met anders en lussen en verbeter het met feedback van anderen.
- Test elke tak van een keuze
Gebeurtenissen en als-dan-anders: uitleg
1Laat programma’s reageren als er iets gebeurt
Je programma kan wachten op een klik, een toets of een bericht. Jij bepaalt wat elke startgebeurtenis start en bij welk personage de acties horen. Begin met een spel met signalen en maak daarna besturing en voorbereidingsscripts. Als meerdere scripts samen starten, kun je een hele scène tegelijk laten bewegen en geluid laten maken.
1.1 Wat start de actie?
Stel je voor dat je met een vriend een spel met signalen speelt. Spreek twee regels af: “Als ik klap, raak je je neus aan.” “Als ik stamp, ga je zitten.” Wacht rustig en probeer dan elk signaal uit. De klap start de ene actie. De stamp start een andere.
Zoek de startgebeurtenis
Een gebeurtenis is iets wat gebeurt en wat een programma kan opmerken. Dat kan het indrukken van een toets of een klik zijn. De gebeurtenis is de startgebeurtenis: die start de actie. In “Als ik op de kat klik, miauwt hij” is klikken de gebeurtenis. Miauwen is de actie die daardoor start.
Een script kan wachten zonder iets te doen. De blokken onder when space key pressed wachten op die toets. Op een personage klikken start dat script niet. Je moet de gebeurtenis laten plaatsvinden waarop het script wacht.
Gebeurtenissen in een programma
Een script dat op een gebeurtenis reageert, begint met een gebeurtenisblok. Je kunt bijvoorbeeld when start button clicked of when this character clicked kiezen. Maak de actieblokken eronder vast. Ze worden op volgorde uitgevoerd, van boven naar beneden, als de gebeurtenis ze start.
Bouw dit kleine script voor een kat waarop je kunt klikken:
when this character clicked
play sound "meow"
Klik één keer op de kat en luister. Het gebeurtenisblok merkt de klik op. Daarna wordt het geluidsblok uitgevoerd. Zoek het gebeurtenisblok voordat je voorspelt wat een script doet.
Wat gaat erin en wat komt eruit?
Invoer is iets wat de computer binnenkomt. Uitvoer is iets wat de computer doet en wat je kunt zien of horen.
| Invoer | Uitvoer |
|---|---|
| Druk op knop A op een bordje. | Er verschijnt een hart op de lampjes. |
| Klik op een personage. | Het personage maakt een geluid. |
| Druk op een pijltjestoets. | Een personage beweegt. |
Gebeurtenissen kunnen van een toetsenbord, muis, microfoon of programmeerbaar bordje komen. Een bordje kan merken dat een knop wordt ingedrukt of dat het wordt geschud. Programma’s kunnen ook berichten verzenden die andere scripts starten. Die gebeurtenissen komen uit het programma zelf.
Om een gebeurtenis van een actie te onderscheiden, vraag je: “Wat gebeurde er eerst?” In “Als de bel gaat, ga je in de rij staan” komt het afgaan van de bel eerst. In de rij gaan staan is wat je bij dat signaal moet doen.
Belangrijkste punten
- Een gebeurtenis start een actie.
- Een gebeurtenisblok start de blokken die eraan vastzitten in de juiste volgorde.
- Invoer gaat de computer in; uitvoer is iets wat de computer doet.
- Een programma kan een gebeurtenis maken door een bericht te verzenden.
1.2 Bouw voor elke besturing een script
Begin met een zin over je personage: “Als de spatiebalk wordt ingedrukt, vliegt de vogel omhoog.” Die zin vertelt je welke startgebeurtenis en welke actie je nodig hebt. Zo’n plan met stappen is een algoritme.
Kies, maak vast en probeer
Bouw een script met een gebeurtenis in vier stappen:
- Bepaal wat er moet gebeuren en waardoor het begint.
- Kies het bijpassende gebeurtenisblok.
- Klik de actieblokken eronder vast in de juiste volgorde.
- Laat de gebeurtenis plaatsvinden en bekijk het resultaat.
Kies voor “Als op de startknop wordt geklikt, zegt de vogel “Hoi!”” de startgebeurtenis. Maak er een zegblok aan vast met de tekst “Hoi!”. Klik op de startknop om het uit te proberen. Een script voor de spatiebalk heeft een apart gebeurtenisblok nodig.
Beweeg naar links en rechts
Maak twee scripts bij het personage dat je wilt bewegen:
when right arrow key pressed
change x by 10
when left arrow key pressed
change x by -10
De x-positie vertelt je waar het personage van links naar rechts staat. Als je er 10 bij optelt, beweegt het naar rechts. Als je de positie met −10 verandert, beweegt het naar links.
Druk drie keer achter elkaar op de pijl naar rechts. Het script wordt drie keer uitgevoerd. Elke keer komen er 10 stappen bij, dus het personage beweegt 30 stappen naar rechts. Door één keer te drukken blijft het niet oneindig bewegen. Het script is klaar na het bewegingsblok.
Bereid een nieuwe start voor
Zet voorbereidingsblokken onder de startgebeurtenis:
when start button clicked
go to starting spot
show
say "Ready!"
Het personage keert terug naar zijn startplek voordat het “Ready!” zegt. Zo kun je hetzelfde programma opnieuw vanaf dezelfde plek uitproberen.
Een gebeurtenis kan ook een lus starten. Maak forever vast en zet daarbinnen next costume en wait 0.2 seconds. Na die ene klik op de startknop blijft het uiterlijk veranderen. De lus herhaalt de acties totdat je het programma stopt.
Controleer waar de blokken horen
Een los actieblok wordt niet met de gebeurtenis uitgevoerd. Sleep het totdat het vastklikt in het script. Controleer ook welk personage is geselecteerd. Een script voor een klik op de hond hoort bij de hond. Een script bij de kat met when this character clicked reageert op klikken op de kat.
Test beide pijltjestoetsen apart. Als er maar één werkt, bekijk dan de gebeurtenis van die toets, de blokken die eraan vastzitten en het personage waarbij het script hoort.
Belangrijkste punten
- Bedenk de startgebeurtenis en actie voordat je blokken kiest.
- Klik acties vast aan het bijpassende gebeurtenisblok.
- Elk personage heeft zijn eigen scripts.
- Als je een toets herhaaldelijk indrukt, wordt een kort script met een gebeurtenis steeds opnieuw uitgevoerd.
- Een startgebeurtenis kan een programma voorbereiden of een lus beginnen.
1.3 Start meerdere scripts tegelijk
In een scène kunnen meerdere dingen tegelijk gebeuren. Een vis zwemt terwijl een krab je pijltjestoetsen volgt. Elk personage heeft zijn eigen scripts. Een ander woord voor een personage is object; sommige bloktalen noemen het een sprite.
Eén startgebeurtenis, meerdere scripts
Als twee scripts de startknop als gebeurtenis gebruiken, start de klik ze allebei. Het ene kan een kat laten lopen terwijl het andere muziek afspeelt. Hun acties kunnen tegelijk plaatsvinden.
Binnen elk script worden de blokken nog steeds van boven naar beneden uitgevoerd. Stel dat een lus voor het lopen nooit eindigt. Een muziekblok na die lus wordt dan nooit bereikt. Zet de muziek in een ander script met dezelfde gebeurtenis, zodat beide taken kunnen beginnen.
Een stilstaand object blijft op één plek. Een steen, muur of finishlijn kan stilstaan. Het object kan toch belangrijk zijn voor de scène: een bewegend personage kan het bijvoorbeeld aanraken.
Verzend een bericht
Een programma kan zijn eigen gebeurtenis maken door een bericht te verzenden. Een bericht verzenden wordt ook uitzenden genoemd.
Bouw bij de starter:
when start button clicked
broadcast "start race"
Bouw bij de hond:
when I receive "start race"
move 10 steps
Geef het paard een bijpassend script om het bericht te ontvangen. De hond en het paard reageren allebei als het bericht wordt verzonden. Controleer of elke ontvanger op dezelfde berichtnaam wacht. Een ontvanger blijft wachten als geen enkel script zijn bericht verzendt.
Voorspel wanneer iets gebeurt
Lees deze twee scripts met de startknop voordat je ze uitvoert:
- De uil zegt 2 seconden “Klaar?”.
- De kikker wacht 2 seconden en zegt dan “Start!”.
Beide scripts beginnen bij de klik. De eerste 2 seconden praat de uil en wacht de kikker. Na het wachten praat de kikker. De kikker wacht niet op het hele script van de uil alleen omdat de uil als eerste op je scherm staat.
Let op scripts die elkaar tegenwerken
Twee scripts kunnen proberen hetzelfde personage tegelijk te bewegen. Het ene kan het naar rechts laten bewegen terwijl het andere het naar links laat bewegen. Het personage kan heen en weer schokken of vast lijken te zitten. Lees alle scripts die tegelijk starten. Controleer wat elk script verandert voordat je besluit dat één bewegingsblok kapot is.
Belangrijkste punten
- Eén gebeurtenis kan meerdere scripts tegelijk starten.
- De blokken binnen elk script houden hun eigen volgorde.
- Een verzonden bericht start scripts die op dat bericht wachten.
- Stilstaande objecten blijven op één plek, maar kunnen invloed hebben op spelregels.
2Maak keuzes met als, dan en anders
Een spel moet opmerken wat er gebeurt en de volgende actie kiezen. Je maakt van alledaagse ja-of-nee-vragen voorwaarden. Daarna doorloop je de routes door als-dan en als-dan-anders en gebruik je lussen om opnieuw te controleren terwijl de speler beweegt. De plek waar je elk blok vastmaakt, doet ertoe.
2.1 Stel een ja-of-nee-vraag
Kijk om je heen en vraag: “Is er iets blauws bij mij in de buurt?” Je antwoord is ja of nee. Een programma gebruikt zulke vragen om keuzes te maken.
Een voorwaarde geeft waar of onwaar als je die controleert. Ja betekent waar. Nee betekent onwaar. “Is de auto blauw?” is een voorwaarde. “Welke kleur heeft de auto?” vraagt naar een kleur en is dus geen voorwaarde die waar of onwaar is.
Controleer op dit moment
Het antwoord op een voorwaarde kan veranderen. “Regent het?” kan vanochtend onwaar zijn en vanmiddag waar. Een programma krijgt het antwoord op het moment dat het controleert.
Probeer met vrienden een regel zonder computer uit: “Als je iets roods aanhebt, ga dan staan.” Iedereen controleert zijn eigen kleding. Sommigen gaan staan; anderen blijven zitten. De regel blijft hetzelfde, maar de antwoorden verschillen.
In een alledaagse als-dan-regel komt de voorwaarde na als. De actie komt na dan: “Als het regent, neem dan een paraplu mee.”
Verbind voorwaarden met en
Bij en moeten beide delen waar zijn. “Als het zaterdag is en de zon schijnt, ga dan naar het park.”
- Zonnige zaterdag: beide delen zijn waar, dus ga.
- Regenachtige zaterdag: maar één deel is waar, dus ga niet.
- Zonnige maandag: maar één deel is waar, dus ga niet.
Controleer beide delen voordat je beslist of de verbonden voorwaarde waar is.
Verbind voorwaarden met of
Bij of moet minstens één deel waar zijn. Het telt ook als beide delen waar zijn. “Als je jarig bent of je klusjes af hebt, kies dan de film.”
Je mag kiezen op je verjaardag. Je mag ook kiezen als je je klusjes af hebt. Als beide gebeuren, voldoe je nog steeds aan de regel. In programma’s betekent of niet “precies één”.
Draai een voorwaarde om
Niet draait het antwoord om. Als “Het regent” waar is, is “Het regent niet” onwaar. Als het onwaar is dat het regent, is het waar dat het niet regent.
In veel bloktalen hebben voorwaarden puntige uiteinden. Ze passen in de opening voor de voorwaarde van een als-blok. Voorbeelden zijn touching edge?, key space pressed? en answer = 56. Elk geeft bij controle waar of onwaar als antwoord.
Belangrijkste punten
- Een voorwaarde geeft bij controle waar of onwaar.
- Een voorwaarde kan later een ander antwoord geven.
- Bij en moeten beide delen waar zijn.
- Bij of mag één deel waar zijn of allebei.
- Niet draait waar en onwaar om.
- De voorwaarde volgt op als; de actie volgt op dan.
2.2 Voer een actie alleen uit als de voorwaarde klopt
Soms moet een actie alleen gebeuren als een voorwaarde waar is. Een spel kan een ping laten horen als je een munt raakt. Het moet stil doorgaan als je er geen raakt.
Volg een als-dan
Blokken kiezen door een voorwaarde te controleren heet een keuzestructuur. Je hoort misschien ook de term voorwaardelijke blokken. Een als-dan-blok controleert één keer wanneer het programma erbij komt.
- Waar: voer de blokken binnenin uit.
- Onwaar: sla de blokken binnenin over.
- Ga in beide gevallen verder met het blok na het als-blok.
Probeer de regel “Als het regent, trek dan je regenjas aan. Loop naar school.” Op een regenachtige dag trek je de jas aan en loop je daarna naar school. Op een droge dag sla je de jas over en loop je naar school. Het lopen komt na de keuze en gebeurt dus in beide gevallen.
Zet acties op de juiste plek
if touching coin? then
play sound "ding"
say "Keep going!"
Als je de munt raakt, wordt het geluid afgespeeld. Het zegblok wordt uitgevoerd of je de munt nu raakt of niet. Verplaats dat blok alleen naar binnen in het als-blok als je wilt dat ook het bericht afhangt van het raken van de munt.
Een stroomschema laat deze routes in een plaatje zien. Zet de voorwaarde in een ruit. Zet “ja” bij één pijl en laat die naar de actie lopen. Zet “nee” bij de andere pijl en laat die om de actie heen lopen. Laat beide routes vóór de volgende gezamenlijke stap weer bij elkaar komen.
Blijf controleren tijdens het spelen
Een als-blok kijkt niet de hele tijd. Als je het direct onder de startgebeurtenis zet, controleert het alleen bij de start. Als je de munt later bereikt, mist die controle dat, want die is al klaar.
Zet het als-blok in een oneindige lus om steeds opnieuw te controleren:
when start button clicked
forever
if key up arrow pressed? then
change y by 10
De lus blijft de toets controleren. Zolang je die ingedrukt houdt, blijft het personage omhoog bewegen. Als je de toets loslaat, wordt de voorwaarde onwaar en wordt de beweging bij latere controles overgeslagen.
Stop met herhalen als een voorwaarde waar wordt
Een herhaal-tot-lus gebruikt een voorwaarde om te stoppen. Controleer bij repeat until touching edge?: move 5 steps eerst de rand. Onwaar betekent: beweeg en controleer daarna opnieuw. Waar betekent: verlaat de lus en ga verder. Als het personage de rand bij de start al raakt, wordt de beweging binnenin nul keer uitgevoerd.
Belangrijkste punten
- Als-dan voert de blokken binnenin alleen uit als de voorwaarde waar is.
- Blokken na het als-blok worden uitgevoerd, welke route ook is gevolgd.
- Een als-blok controleert één keer telkens als het programma erbij komt.
- Een oneindige lus herhaalt controles; een herhaal-tot-lus stopt als de voorwaarde waar is.
2.3 Geef voor elk antwoord een andere reactie
Een quiz heeft twee reacties nodig. Een goed antwoord krijgt een compliment. Bij een fout antwoord krijgt de speler hulp. Als-dan-anders kiest tussen die twee acties.
Doorloop de twee takken
Elke route door een keuze is een tak. De dan-tak wordt uitgevoerd als de voorwaarde waar is. De anders-tak wordt uitgevoerd als die onwaar is. Telkens als de keuze wordt uitgevoerd, wordt precies één tak uitgevoerd.
ask "What is 7 × 8?" and wait
if answer = 56 then
say "Correct!"
else
say "Not quite. 7 × 8 = 56."
Volg een antwoord van 56. Het antwoord komt overeen met 56, dus de voorwaarde is waar. Zeg “Correct!” en sla de reactie in de anders-tak over.
Volg nu een antwoord van 54. De vergelijking is onwaar. Sla “Correct!” over en gebruik de behulpzame reactie in de anders-tak. Het programma voert niet beide reacties uit wanneer het één keer bij deze keuze komt.
Teken beide routes
Zet in een stroomschema answer = 56? in een ruit. Teken een ja-pijl naar “Correct!” en een nee-pijl naar de behulpzame reactie. Laat de routes vóór de volgende vraag bij elkaar komen. Welke reactie de speler ook krijgt, de quiz kan verdergaan.
Ook een als-dan heeft twee routes. Bij onwaar slaat het programma de actie binnenin gewoon over.
| Wat je nodig hebt | Blok dat je kiest |
|---|---|
| Een ping alleen bij het raken van een munt | Als-dan |
| Een compliment bij goed, hulp bij fout | Als-dan-anders |
Vang de waarde in het midden op
Twee afzonderlijke als-blokken kunnen een gat overlaten. Stel je voor dat je temperature > 25 controleert voor “Het is warm!” en temperature < 25 voor “Het is niet warm”. Bij precies 25 °C zijn beide controles onwaar. Geen van beide berichten wordt getoond.
Gebruik in plaats daarvan if temperature > 25 met een reactie in de anders-tak. Bij 25 °C is groter dan 25 onwaar. De anders-tak zegt “Het is niet warm”. Elke meetwaarde krijgt nu één reactie.
Als een quiz foute antwoorden prijst, bekijk dan de takken. “Correct!” hoort in de dan-tak als de controle op gelijkheid met het antwoord waar is. Een programma kan blijven werken en toch de verkeerde reactie geven. Probeer een goed en een fout antwoord om beide plekken te controleren.
Belangrijkste punten
- Als-dan-anders voert dan uit bij waar en anders bij onwaar.
- Telkens als het programma bij deze keuze komt, wordt precies één tak uitgevoerd.
- Gebruik anders als er een eigen actie nodig is wanneer de voorwaarde onwaar is.
- Twee afzonderlijke vergelijkingen kunnen een gelijke waarde overslaan.
- Test beide takken om verwisselde reacties te ontdekken.
3Vergelijk getallen en antwoorden om beslissingen te nemen
Getallen helpen je programma kiezen: een getypt antwoord, een positie of een meetwaarde van een sensor kan het programma sturen. Je leert vergelijkingstekens lezen, controleren wat er precies op een grens gebeurt en eerst een vraag stellen voordat je een antwoord beoordeelt. Als je keuzes tussen twee mogelijkheden begrijpt, kun je keuzes samenvoegen tot een keten met drie reacties.
3.1 Kies de juiste vergelijking
Een programma kan getallen vergelijken om te beslissen wat er daarna gebeurt. Een vergelijking geeft waar of onwaar en past dus in de opening voor de voorwaarde van een als-blok.
Lees de tekens
| Teken | Betekenis | Voorbeeld |
|---|---|---|
| > | Groter dan | 12 is groter dan 9. |
| < | Kleiner dan | 3 is kleiner dan 7. |
| = | Gelijk aan | 10 is gelijk aan 10. |
De brede kant wijst naar het grootste getal. Lees 12 > 9 van links naar rechts: “12 is groter dan 9.” In code controleert answer = 56 of het antwoord overeenkomt met 56.
De getallen kunnen uit getypte antwoorden, een klok, de positie van een personage of een sensor komen. Een sensor merkt iets in zijn omgeving op, zoals licht, en geeft het programma een meetwaarde.
Controleer de grens zelf
Probeer deze keuze voor het weer:
if temperature > 25 then
say "It's hot!"
else
say "It's not hot."
Bij 30 °C is de voorwaarde waar. Bij 15 °C is die onwaar. Bij precies 25 °C is die ook onwaar: gelijk is niet groter.
Stel dat volgens je regel 25 ook als warm moet tellen. Draai de vraag om: if temperature < 25 geeft “Het is niet warm” en anders geeft “Het is warm!”. Nu volgt 24 de dan-tak en 25 de anders-tak. Bepaal voordat je gaat bouwen waar gelijkheid thuishoort.
Vergelijk vormen en posities
Vergelijk bij een rechthoek de lengte en de breedte. Als de zijden even lang zijn, is die rechthoek een vierkant. Een rechthoek van 5 bij 5 cm voldoet; een rechthoek van 5 bij 3 cm niet.
In een race kan een finishlijn op x-positie 200 staan. Door x position > 200 binnen een oneindige lus te controleren, merk je wanneer het personage de lijn voorbijgaat. Bij precies 200 is die vergelijking nog onwaar.
Lees een veranderende sensor uit
Op dit voorbeeldbordje lopen de lichtwaarden van 0 voor donker tot 255 voor licht. Gebruik een oneindige lus met if light level < 50: doe in de dan-tak de lampjes aan en in de anders-tak uit. Een meetwaarde van 20 doet ze aan. Meetwaarden van 50 en 200 doen ze uit.
Met light level = 50 zou je alleen die precieze meetwaarde opvangen. Een sensor kan van 52 naar 48 springen en die waarde missen. Een controle met kleiner dan omvat de donkere meetwaarden aan die kant van de grens. Om een omgekeerd teken te ontdekken, lees je controle hardop: “De lichtsterkte is kleiner dan 50.”
Belangrijkste punten
- Vergelijkingen geven waar of onwaar.
- De brede kant van > of < wijst naar het grootste getal.
- Bij gelijke waarden zijn zowel groter-dan- als kleiner-dan-controles onwaar.
- Bepaal in welke tak de grenswaarde moet komen.
- Gebruik een vergelijking voor een bereik als een sensor een precieze meetwaarde kan overslaan.
- Vergelijk zijden van rechthoeken, posities, klokken of meetwaarden van sensoren.
3.2 Vraag eerst en controleer dan het antwoord
Een quiz moet op de speler wachten. Het vraagblok toont een vraag en wacht tot de speler iets typt en op Enter drukt. Het antwoordblok bevat wat de speler het laatst heeft getypt.
Bouw één vraag in de juiste volgorde
Gebruik elke keer deze volgorde:
- Stel de vraag en wacht.
- Vergelijk het antwoord met het juiste antwoord op die vraag.
- Geef de reactie voor een goed antwoord of de reactie voor een fout antwoord.
Voor een vraag over een spin is het script:
ask "How many legs does a spider have? Type a number." and wait
if answer = 8 then
say "Yes! Spiders have 8 legs."
else
say "Not quite. Spiders have 8 legs."
Als je 8 typt, is de vergelijking waar. Als je 6 typt, is die onwaar. De vergelijking controleert het antwoord, niet de woorden van de vraag.
Controleer het nieuwste antwoord
Stel dat je eerst een rekenvraag stelt en daarna een vraag over een spin. Het antwoord op de spinnenvraag vervangt het antwoord op de rekenvraag in het antwoordblok. Controleer het antwoord op de rekenvraag voordat je de spinnenvraag stelt.
Controleren vóór het vraagblok is ook een volgordefout. Het programma heeft het nieuwe antwoord dan nog niet ontvangen. Het controleert een ouder of leeg antwoord. Zet het vraagblok vóór de bijbehorende als-dan-anders.
Vertel de speler wat die moet typen
Een computer vergelijkt de antwoorden die je hem laat vergelijken. Als je op 8 controleert, komt het woord “acht” daar niet mee overeen. Als je op “Parijs” controleert, komt “Parij” daar ook niet mee overeen. Het idee van de speler kan goed zijn, ook als de getypte tekst niet door de controle komt.
Kies duidelijke vragen met een eenvoudige regel voor het typen. Je kunt zeggen “Typ een getal” of “Typ ja of nee”. Geef bij een keuze uit antwoorden de mogelijkheden de letters a, b en c en vraag de speler een letter te typen. Bedenk welke letter het programma moet accepteren.
Maak feedback nuttig
Een reactie op een fout antwoord kan de speler iets leren. “Niet helemaal. Spinnen hebben 8 poten” vertelt de speler wat die moet onthouden. Een reactie met alleen “Fout!” helpt de speler niet om de fout te verbeteren.
Als je nog een vraag toevoegt, verander dan zowel de vraagtekst als de vergelijking. Als je het vorige juiste antwoord in de nieuwe vergelijking laat staan, beoordeelt de quiz de nieuwe vraag verkeerd.
Belangrijkste punten
- Stel de vraag en wacht voordat je een antwoord controleert.
- Het antwoordblok bewaart alleen het meest recente antwoord.
- Vergelijk met het juiste antwoord op die vraag.
- Vertel spelers in welke vorm ze moeten typen en geef behulpzame feedback.
3.3 Kies één van drie acties
Sommige regels hebben meer dan twee acties nodig. Je kunt bijvoorbeeld lopen, fietsen of de bus nemen. Zet een tweede als-dan-anders in de eerste anders-tak om een anders-als-keten te maken.
Volg de controles op volgorde
if distance < 2 km then
walk
else
if distance < 5 km then
ride a bike
else
take the bus
Begin elke keer bovenaan. Als de eerste controle waar is, ga je lopen en sla je de rest over. Als die onwaar is, ga je naar de anders-tak en controleer je de tweede voorwaarde. De laatste anders-tak vangt de overgebleven afstanden op.
Doorloop 1 km: kleiner dan 2 is waar, dus ga lopen. Doorloop 2 km: kleiner dan 2 is onwaar, maar kleiner dan 5 is waar, dus ga fietsen. Bij 4 km ga je weer fietsen. Bij 5 of 8 km zijn beide vergelijkingen onwaar, dus neem je de bus.
Waarom de volgorde ertoe doet
Wat als je eerst distance < 5 km controleert voor fietsen? Bij 1 km is die controle al waar. Het programma kiest fietsen en slaat de controle voor lopen in de anders-tak over. De tak voor lopen kan nooit worden uitgevoerd: elke afstand onder 2 is ook onder 5.
Zet bij deze controles met kleiner dan voor afstanden de kleinste grens eerst.
Twee afzonderlijke als-blokken werken anders. Als je eerst onder 5 en daarna onder 2 controleert, krijg je bij 1 km zowel fietsen als lopen. Beide voorwaarden zijn waar en er is geen anders om de tweede controle over te slaan.
Geef een aanwijzing bij het raden
Gebruik drie reacties voor een geheim getal 7:
ask "Guess my number from 1 to 10. Type a number." and wait
if answer = 7 then
say "You got it!"
else
if answer < 7 then
say "Too low!"
else
say "Too high!"
Een gok van 7 voldoet aan de eerste controle. Een gok van 3 is niet gelijk aan 7, maar wel kleiner. Een gok van 9 voldoet aan geen van beide controles en komt bij de laatste anders-tak.
Bedenk tests voor alle routes
In een stroomschema leidt de nee-pijl van de eerste ruit naar de tweede ruit. Elke ja-pijl leidt naar een eigen actie. Probeer voor de reisregel 1, 2, 4, 5 en 8 km. Die tests bereiken elke tak en omvatten beide grenzen.
Belangrijkste punten
- Zet nog een keuze in de anders-tak om een derde tak toe te voegen.
- Een keten voert de eerste tak uit waarvan de voorwaarde klopt en slaat de rest over.
- De volgorde van de controles kan het antwoord veranderen.
- Zet de kleinste grens eerst in de afstandsketen met kleiner dan.
- Test elke tak en elke grens.
4Bouw quizzen en spellen die keuzes maken
Gebruik je blokken voor iets wat iemand anders kan spelen. Je bedenkt een quiz met leesbare feedback en bouwt daarna een spel met besturing en regels. Door steeds één klein onderdeel te bouwen, kun je elke keuze uitproberen voordat je de volgende toevoegt. Je bepaalt ook hoe het spel begint, opnieuw begint en eindigt.
4.1 Maak een quiz die spelers kunnen volgen
Kies een onderwerp en bedenk wie de quiz gaat spelen. Bedenk de vragen en feedback voordat je gaat bouwen. Een tabel of storyboard, een reeks plaatjes met aantekeningen, helpt je ideeën op volgorde te houden.
Bedenk de vragen
Elke vraag heeft een juist antwoord en twee reacties nodig. Hier is een plan met drie vragen:
| Vraag | Juiste antwoord | Behulpzame reactie bij een fout antwoord |
|---|---|---|
| “Wat is 7 × 8? Typ een getal.” | 56 | “Niet helemaal. 7 × 8 = 56.” |
| “Hoeveel poten heeft een spin? Typ een getal.” | 8 | “Niet helemaal. Spinnen hebben 8 poten.” |
| “Is een walvis een vis? Typ ja of nee.” | “nee” | “Niet helemaal. Een walvis is een zoogdier.” |
Kies “Correct!” als reactie op de goede antwoorden. Je kunt ook gejuich toevoegen. Bepaal deze uitvoer voordat je blokken gaat kiezen.
Bouw de eerste vraag
Maak het startscript van de presentator:
when start button clicked
say "Welcome to my quiz!" for 2 seconds
ask "What is 7 × 8? Type a number." and wait
if answer = 56 then
say "Correct!" for 2 seconds
play cheer sound
else
say "Not quite. 7 × 8 = 56." for 2 seconds
Voer deze vraag uit voordat je de andere toevoegt. Probeer 56, start daarna opnieuw en probeer 54. Controleer of elke reactie in de juiste tak verschijnt.
Geef spelers tijd om te lezen
Een zegblok zonder wachttijd kan te snel door de volgende vraag worden vervangen. Een reactie die tijdelijk in beeld blijft, houdt de woorden op het scherm voordat het script verdergaat. Kies een tijd waarin je spelers rustig kunnen lezen.
Voeg daarna vraag 2 toe na de hele keuze. Die heeft een eigen vraagblok en een vergelijking met 8 nodig. Vraag 3 volgt met een vergelijking met “nee”. Elke vraag volgt de volgorde: vraag, vergelijk, reageer.
Houd verschillende uitvoer in de bijbehorende takken. Gejuich hoort bij de reactie op een goed antwoord. Een zacht geluid bij een fout antwoord hoort bij de behulpzame reactie. Een verandering van uiterlijk kan ook feedback geven.
Bedenk hoe je opnieuw kunt spelen
Je kunt de vragen ook starten door op de presentator te klikken in plaats van op de startknop. Een aparte knop “Speel opnieuw” kan een bericht verzenden om bij vraag 1 te beginnen. Geef de quizpresentator het bijpassende script om het bericht te ontvangen. Probeer na afloop opnieuw te starten en controleer of de eerste vraag weer verschijnt.
Belangrijkste punten
- Bedenk vragen, antwoorden en beide reacties voordat je gaat bouwen.
- Bouw en test één vraag voordat je de volgende toevoegt.
- Houd bij elke vraag de volgorde vraag, vergelijk, reageer aan.
- Geef genoeg tijd om elke reactie te lezen.
- Zet geluiden en veranderingen van uiterlijk in de bijbehorende takken.
- Een bericht om opnieuw te starten kan de quiz bij vraag 1 laten beginnen.
4.2 Zet spelregels om in blokken
Schrijf op wat de speler kan doen en waardoor die wint. Schrijf daarna regels als als-dan-zinnen: “Als de speler lava raakt, ga dan terug naar het begin.” Elke regel geeft je een voorwaarde en een actie.
Scheid besturing en regels
Toetsgebeurtenissen kunnen een personage bewegen. Een startgebeurtenis bereidt het spel voor. Een oneindige lus blijft de regels controleren terwijl de speler beweegt.
Zet voor een doolhof if touching wall? then go to starting spot in die lus. De muur is een stilstaand object: hij beweegt niet, maar als de speler hem raakt, verandert wat er met de speler gebeurt.
Als je maar één keer onder de startgebeurtenis controleert, mis je aanrakingen die later gebeuren. De speler begint meestal niet tegen de muur aan. Tegen de tijd dat de speler de muur bereikt, is die controle klaar.
Bouw een vangspel
In “Vang de appel” beweegt een mand naar links en rechts. Zet deze scripts bij de mand:
when right arrow key pressed
change x by 10
when left arrow key pressed
change x by -10
Zet de regels voor het vallen bij de appel:
when start button clicked
go to top of screen
forever
change y by -5
if touching basket? then
play sound "pop"
go to top of screen
if touching ground? then
say "Missed!" for 1 second
go to top of screen
De grond is een stilstaand object langs de onderkant. De appel beweegt omlaag en controleert dan of hij is gevangen of gemist. Bij een vangst klinkt een plop en gaat de appel terug omhoog. Bij het raken van de grond verschijnt de reactie voor missen en gaat de appel ook terug omhoog.
Bouw eerst het vallen. Voeg daarna de controle op de mand toe en test een vangst. Voeg vervolgens de controle op de grond toe en laat een appel vallen zonder die te vangen. Door steeds één regel te bouwen, kun je een nieuwe programmeerfout makkelijker vinden.
Geef het spel een einde
Een doolhof kan eindigen bij een stilstaande finishlijn. Bedenk: “Als je de finishlijn raakt, zeg dan ‘Je wint!’ en stop.” Bepaal of een regel voor verliezen het spel opnieuw start of beëindigt.
Probeer de besturing, de muur, de finish en de regel voor verliezen afzonderlijk uit. Speel daarna een hele ronde. De regels moeten steeds gecontroleerd blijven worden terwijl het spel verandert en het einde moet doen wat je hebt bedacht.
Belangrijkste punten
- Schrijf spelregels als als-dan-zinnen.
- Gebruik gebeurtenissen voor de besturing en een lus om regels herhaaldelijk te controleren.
- Stilstaande muren, grond en finishlijnen kunnen spelacties starten.
- Bouw en test steeds één regel tegelijk.
- Bedenk wat er gebeurt als de speler wint of verliest.
5Test elke tak en verhelp programmeerfouten
Testen betekent dat je invoer kiest waarmee je je regels controleert. Je probeert elke route uit, neemt de precieze grenzen mee en noteert wat er gebeurt. Als een test mislukt, volg je het script om de oorzaak te vinden. Daarna herstel je één ding en test je opnieuw. Je kunt ook namen verbeteren en blokken inkorten zodra de regels werken.
5.1 Kies tests die elke route uitproberen
Een programma kan na één goede uitvoering klaar lijken. Maar een keuze heeft meerdere routes. Testen betekent dat je bewust invoer kiest om te controleren of je plan werkt. Een programmeerfout (bug) is een fout waardoor het programma iets doet wat je niet had bedacht.
Schrijf eerst het verwachte resultaat op
Bepaal voordat je een test uitvoert wat er moet gebeuren. Dat is het verwachte resultaat. Bekijk de uitvoering en noteer het werkelijke resultaat. Vergelijk ze om te bepalen of de test is geslaagd.
Bedenk voor de quizvraag “Wat is 7 × 8? Typ een getal” deze tests:
| Invoer | Verwacht resultaat | Werkelijk resultaat | Geslaagd? |
|---|---|---|---|
| 56 | “Goed!” | Noteer na de uitvoering. | Vergelijk. |
| 54 | Behulpzame reactie met 56 | Noteer na de uitvoering. | Vergelijk. |
| “zesenvijftig” | Behulpzame reactie met 56 | Noteer na de uitvoering. | Vergelijk. |
De vorm in woorden komt niet overeen met het getal in answer = 56. Deze test controleert zowel de typregel als de tak voor onwaar. Als je pas bepaalt wat juist is nadat je het scherm hebt gezien, accepteer je makkelijk een programmeerfout.
Test waar, onwaar en de grenswaarde
Probeer minstens één invoer voor elke tak. Met alleen een goed antwoord test je nooit de reactie op een fout antwoord.
Probeer voor if temperature > 25 30 °C voor waar en 15 °C voor onwaar. Probeer ook 25 °C, de grenswaarde of precieze grens. Gelijk is niet groter, dus 25 volgt de anders-tak. Tests rond een grens helpen je een teken op te merken waardoor gelijkheid op de verkeerde plek terechtkomt.
Geef langere ketens meer tests
Probeer voor lopen onder 2 km, fietsen onder 5 en anders de bus: 1, 2, 4, 5 en 8 km. Verwacht lopen, fietsen, fietsen, bus en bus. Alle drie de takken worden uitgevoerd en beide grenzen worden getest.
Elke test volgt één route door die keuze. Als je 1 km vijf keer herhaalt, blijven de andere routes nog steeds ongetest.
Test ook de startgebeurtenissen
Druk op elke toets voor de besturing. Klik op elk personage dat moet reageren. Probeer elke knop op het bordje en elke actie die door een bericht wordt gestart. Een script dat je nooit start, is niet getest.
Vraag een vriend om je programma uit te proberen. Die kiest misschien een verrassend antwoord of gebruikt een besturing die je bent vergeten. Voeg een nuttige nieuwe test toe aan je tabel als het spelen iets laat zien wat je had gemist.
Belangrijkste punten
- Kies tests voordat je het programma uitvoert.
- Noteer invoer, verwacht resultaat, werkelijk resultaat en of de test is geslaagd.
- Test elke tak en de precieze grenzen.
- Test elke gebeurtenis en vraag een andere speler om het programma uit te proberen.
5.2 Zoek het eerste wat misgaat
Als een programma je verrast, vergelijk dan wat er gebeurde met je plan. Debuggen betekent programmeerfouten opsporen en verhelpen. Probeer de oorzaak uit te leggen voordat je blokken verplaatst.
Volg een klein herstelplan
- Vergelijk het werkelijke resultaat met het verwachte resultaat.
- Zoek het script, de startgebeurtenis of de tak waar het voor het eerst misgaat.
- Leg uit waarom dat onderdeel zich zo gedraagt.
- Verander één ding.
- Voer de tests opnieuw uit, ook de tests die eerder slaagden.
Als je meerdere blokken tegelijk verandert, is het moeilijker te zien welke verandering hielp.
Er gebeurt niets
Begin bij de gebeurtenis. Heb je de juiste toets gekozen? Staat het script bij het juiste personage? Zijn de actieblokken aan de gebeurtenis vastgeklikt? Als het op een bericht wacht, zoek dan het script dat het bericht verzendt. Door een verkeerd gespeld of ontbrekend bericht kan een ontvanger blijven wachten.
Het personage loopt door een muur
Stel dat dit het hele script voor de regel is:
when start button clicked
if touching wall? then
go to starting spot
De speler begint niet tegen de muur aan. De controle is onwaar en het script eindigt. Als de speler later tegen de muur loopt, begint die controle niet opnieuw.
Leg het uit: “De muur wordt maar één keer gecontroleerd.” Zet het als-blok in een oneindige lus. Start opnieuw, loop tegen de muur en controleer of de speler teruggaat. Controleer ook of gewoon bewegen uit de buurt van muren nog werkt.
Elk antwoord krijgt een compliment
Een quiz controleert answer = 56, maar “Goed!” zit onder de hele keuze vast. Dat blok wordt na beide takken uitgevoerd. Verplaats het naar de dan-tak. Test 56 en 54. De eerste moet een compliment krijgen; de tweede de behulpzame reactie.
Als de controle vóór het vraagblok komt, zet het vraagblok dan eerst. Als een nieuwe vraag met een oud juist antwoord vergelijkt, verander dan die vergelijking.
Een meetwaarde krijgt geen reactie
Twee afzonderlijke weercontroles gebruiken temperature > 25 en temperature < 25. Precies 25 voldoet aan geen van beide. Vervang ze door één als-dan-anders. Test daarna 30, 25 en 15 °C.
Als een regel op de verkeerde meetwaarden reageert, lees het teken dan hardop. Controleer ook de acties in de takken en de grens. Voer na een herstel je hele testtabel uit: een verandering kan de ene route herstellen en een andere kapotmaken.
Belangrijkste punten
- Zoek en verklaar de oorzaak voordat je blokken verandert.
- Verander steeds één ding tegelijk.
- Controleer de gekozen gebeurtenis, het personage, vastgemaakte blokken en verzonden berichten.
- Bekijk vergelijkingstekens, de plek van acties en herhaalde controles.
- Voer na een herstel al je tests opnieuw uit.
5.3 Verbeter een programma dat al werkt
Ook een programma dat werkt, moet je nog met je plan vergelijken. Om het te beoordelen, loop je elke regel na en test je of het programma doet wat je wilde. Feedback van een andere speler kan laten zien wat er beter kan.
Kortere code en minder werk
Kortere code gebruikt minder blokken voor dezelfde taak. Efficiënte code voorkomt onnodig werk voor de computer. Ze hebben met elkaar te maken, maar zijn niet hetzelfde.
Stel dat er vier keer een paar blokken staat met move 10 steps en daarna wait 0.5 seconds. Een lus met repeat 4 kan één paar bevatten. Je hebt dan minder blokken om te lezen en aan te passen. De computer beweegt nog steeds vier keer en wacht vier keer.
Eén als-dan-anders kan een controle besparen. Om één reactie te geven bij answer = 56, zet je een compliment in de dan-tak en hulp in de anders-tak. De vergelijking wordt één keer gecontroleerd. Twee afzonderlijke als-blokken voor tegengestelde gevallen controleren twee keer.
Zoek een tak die nooit wordt bereikt
Bekijk een afstandsketen die onder 5 km controleert voor fietsen voordat die onder 2 km controleert voor lopen. Elke loopafstand wordt al door de eerste controle opgevangen. De tak voor lopen kan niet worden uitgevoerd.
Probeer 1 km. De eerste voorwaarde is waar, dus fietsen wordt uitgevoerd en de rest wordt overgeslagen. Zet de controle op onder 2 eerst. Nu leidt 1 km tot lopen, 4 tot fietsen en 8 tot de bus. Test ook de grenzen van 2 en 5 km opnieuw.
Als je blokken verwijdert zonder hun taak te controleren, kun je de regels veranderen. Vergelijk het gedrag vóór en na een verbetering met dezelfde tests.
Maak namen behulpzaam
Een bericht met de naam “start race” vertelt je waarom het wordt verzonden. “bericht1” doet dat niet. Namen zoals “mand” en “finishlijn” helpen je het personage te vinden waarbij een regel hoort.
Duidelijke namen besparen je zoekwerk als je later terugkomt bij je programma. Ze helpen ook een vriend om je scripts te begrijpen.
Gebruik feedback van een speler
Vraag een vriend om te spelen en kijk waar die aarzelt. Misschien heeft de speler meer tijd nodig om feedback te lezen, een duidelijkere knop om opnieuw te starten of moeilijkere vragen. Kies veranderingen die de spelers voor wie je het maakt helpen.
Controleer na een verbetering ook de oorspronkelijke regels. Een nieuwe knop “Speel opnieuw” is alleen nuttig als die de quiz goed start en de reacties op goede en foute antwoorden nog steeds werken.
Belangrijkste punten
- Beoordeel een programma door het met het plan te vergelijken.
- Kortere code gebruikt minder blokken; efficiënte code voorkomt onnodig werk.
- Een lus kan code korter maken met behoud van dezelfde herhaalde acties.
- Zet controles zo op volgorde dat elke bedoelde tak kan worden bereikt.
- Gebruik duidelijke namen en nuttige feedback van spelers.
Gebeurtenissen en als-dan-anders: voorbeelden
1Laat een scène op je signalen reageren
11 stappen
- 1IntroductieGeef de scène een signaal
Stel je een toneel voor dat op je wacht. Een klik kan een geluid starten en een toets kan een personage bewegen. Elk van die signalen is een gebeurtenis, datgene wat een script start. Je bouwt die kleine reacties en start daarna twee personages samen met een bericht dat ze allebei ontvangen. Begin met bedenken welk signaal elke actie moet starten.
- 2AnalogieProbeer het met een klap
Vraag een vriend om één keer te klappen. Je regel is: “Als ik klap, steek je je hand op.” De klap is de gebeurtenis. Je hand opsteken is de actie. Tot de klap komt, wacht je. Een programma kan op dezelfde manier op zijn startgebeurtenis wachten.
- 3VoorbeeldLaat een uil roepen
Kies de uil. Maak
play sound "hoot"vast onderwhen this character clicked. De klik is invoer. De roep is uitvoer die je hoort. Klik op de uil om dit korte script te starten; het geluidsblok wordt uitgevoerd nadat de gebeurtenis is opgemerkt. - 4UitdagingZoek wat het oplichten start
Een bordje toont een ster als je het schudt. Wat is de gebeurtenis en wat is de zichtbare uitvoer?
---reveal---
Het schudden is de gebeurtenis. De ster op de lampjes is de uitvoer. Het tonen van de ster volgt op het schudden, dus het is de actie die de gebeurtenis start.
- 5VoorbeeldBedenk besturing met de pijl naar rechts
Schrijf: “Als de pijl naar rechts wordt ingedrukt, beweegt de uil naar rechts.” Kies bij de uil die toetsgebeurtenis en maak
change x by 8eraan vast. Probeer één keer op de toets te drukken. De uil beweegt 8 stappen. Laat de toets los voordat je opnieuw drukt, zodat je kunt tellen hoe vaak het korte script wordt uitgevoerd. - 6UitdagingTel de korte uitvoeringen
De uil beweegt 8 stappen voor elke afzonderlijke druk op de pijl naar rechts. Je drukt de toets drie keer in en laat hem steeds los. Hoe ver beweegt de uil?
---reveal---
Hij beweegt 24 stappen naar rechts: 8, dan 8 en dan 8. De gebeurtenis start het script bij elke druk. Het ene bewegingsblok blijft niet vanzelf doorgaan.
- 7TipControleer of de blokken vastzitten
Als de uil niets doet, controleer dan eerst de gekozen toets en het personage. Zoek daarna naar een los bewegingsblok. Dat moet onder de gebeurtenis vastklikken. Voeg een apart startscript toe om de uil vóór een nieuwe uitvoering naar zijn startplek te sturen, zodat je tests vanaf dezelfde plek kunt vergelijken.
- 8UitlegLaat twee taken tegelijk gebeuren
Een script met een oneindige lus voor het lopen kan een muziekblok na die lus niet bereiken. Geef de muziek een eigen script met de startknop. Eén klik op de startknop begint nu beide taken. Elk script houdt zijn eigen blokvolgorde, terwijl het lopen en de muziek tegelijk gebeuren.
- 9VoorbeeldVerzend hetzelfde startbericht
De starter verzendt bij de start “show time”. De uil wacht op “show time” en roept. De maan wacht op “show time” en licht op. Beide scripts voor het ontvangen beginnen als het bericht aankomt. De maan kan op één plek blijven: ook een stilstaand object kan reageren.
- 10UitdagingVoorspel de hele scène
Bij de start wordt “show time” verzonden. De uil wacht 1 seconde en roept dan. De maan licht meteen op als ze dat bericht ontvangt. Wat merk je het eerst op?
---reveal---
De maan licht het eerst op. De uil roept na zijn eigen wachttijd. Hun scripts starten tegelijk; de maan wacht niet tot het script van de uil klaar is.
- 11SamenvattingKies eerst de startgebeurtenis en dan de taak
Een gebeurtenis start de acties die eraan vastzitten. Zet besturing bij het personage waarvoor die bedoeld is. Gebruik aparte scripts voor taken die tegelijk gebeuren en dezelfde berichtnamen om ontvangers te starten. Voorspel voordat je een scène uitvoert wat meteen begint en wat wacht.
2Volg de routes door een keuze
14 stappen
Sla deze les op om elke Walkthrough stap voor stap te volgen.
- 1IntroductieGeef je programma een keuze
- 2UitlegStel een vraag met twee antwoorden
- 3VoorbeeldVerbind twee controles
- 4UitdagingControleer beide delen
- 5KernpuntDraai het antwoord om met niet
- 6VoorbeeldLaat een actie buiten het als-blok
- 7UitdagingDoorloop de route bij onwaar
- 8UitlegTeken de keuze
- 9TipControleer opnieuw tijdens het spelen
- 10VoorbeeldKies één reactie
- 11UitdagingKies het blok dat je nodig hebt
- 12VoorbeeldMerk een ontbrekende gelijke waarde op
- 13UitdagingBedenk een regel die blijft controleren
- 14SamenvattingLees steeds één route tegelijk
3Vergelijk waarden zonder de grenzen te missen
15 stappen
Sla deze les op om elke Walkthrough stap voor stap te volgen.
- 1IntroductieLaat een waarde de actie kiezen
- 2UitlegLees van links naar rechts
- 3VoorbeeldKies een regel voor licht
- 4VoorbeeldDoorloop lager, gelijk en hoger
- 5UitdagingNeem de grens mee
- 6TipLet op een overgeslagen precieze meetwaarde
- 7VoorbeeldVraag eerst om een getal
- 8UitdagingControleer wat echt overeenkomt
- 9KernpuntGebruik elk antwoord vóór de volgende vraag
- 10UitlegMaak ruimte voor een derde keuze
- 11VoorbeeldDoorloop de eerste grens
- 12VoorbeeldDoorloop de tweede grens
- 13UitdagingHerstel een verborgen tak
- 14UitdagingCombineer invoer en een keten
- 15SamenvattingGeef elke waarde een plek
4Bouw een kleine quiz en een doolhof
12 stappen
Sla deze les op om elke Walkthrough stap voor stap te volgen.
- 1IntroductieBouw iets wat iemand anders kan spelen
- 2UitlegBedenk beide soorten reacties
- 3VoorbeeldBouw één volledige vraag
- 4UitdagingZoek wat nog ontbreekt in het plan
- 5TipTest voordat je kopieert
- 6UitlegSchrijf de doolhofregels
- 7VoorbeeldVoeg de muurregel toe
- 8VoorbeeldVoeg de finishregel toe
- 9UitdagingHerken een controle die alleen aan het begin gebeurt
- 10VerbandGeef het spel een nieuw begin
- 11UitdagingBedenk een volledige test
- 12SamenvattingHoud het plan naast de blokken
5Test een keuze, herstel en verbeter die
13 stappen
Sla deze les op om elke Walkthrough stap voor stap te volgen.
- 1IntroductieProbeer de gemiste routes te vinden
- 2VoorbeeldSchrijf de verwachte reacties op
- 3UitdagingKies de extra test
- 4UitlegNoteer wat er echt gebeurde
- 5VoorbeeldZoek het gat
- 6VoorbeeldHerstel één ding
- 7UitdagingLeg een andere programmeerfout uit voordat je die verhelpt
- 8TipBekijk de gebeurtenis als er niets gebeurt
- 9VoorbeeldMaak een herhaalde reeks korter
- 10UitdagingTel het werk van de computer
- 11KernpuntBespaar een onnodige vergelijking
- 12UitdagingControleer een verbetering van een speler
- 13SamenvattingGebruik het plan om het resultaat te beoordelen
Gebeurtenissen en als-dan-anders: oefenvragen
Set 1: Lees de blokken en voorspel10 Oefenvragen
Vraag 1 van 10
Toon antwoordVerberg antwoord
Vraag 2 van 10
answer = 15. De speler typt “vijftien”. Welke tak wordt uitgevoerd?Toon antwoordVerberg antwoord
Vraag 3 van 10
Toon antwoordVerberg antwoord
Vraag 4 van 10
Toon antwoordVerberg antwoord
Vraag 5 van 10
if touching star? then play chime, gevolgd door say "Keep moving!" buiten het als-blok. Je raakt de ster niet. Wat gebeurt er?Toon antwoordVerberg antwoord
Vraag 6 van 10
Toon antwoordVerberg antwoord
Vraag 7 van 10
Toon antwoordVerberg antwoord
Vraag 8 van 10
repeat 4. Wat is er veranderd?Toon antwoordVerberg antwoord
Vraag 9 van 10
Toon antwoordVerberg antwoord
Vraag 10 van 10
answer = 16. Een speler beantwoordt beide vragen goed. Wat moet je veranderen?Toon antwoordVerberg antwoord
Set 2: Maak kennis met gebeurtenissen en keuzes10 Oefenvragen
Sla deze les op om elk antwoord te zien en elke set te oefenen.
Vraag 1 van 10
when B key pressed. Wat is de directe oplossing?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 2 van 10
if touching red? then say "Stop" else say "Go". Het personage raakt alleen blauw. Wat zegt het?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 3 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 4 van 10
if length = width then "Square" else "Not square". Wat zegt het?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 5 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 6 van 10
temperature > 23; anders gaat hij uit. Wat gebeurt er bij 23 °C?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 7 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 8 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 9 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 10 van 10
if reading > 20: "Warm" en afzonderlijk if reading < 20: "Cool". Volgens het plan moet 20 °C Koel zijn. Welke vervanging past voor elke meetwaarde bij het plan?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Set 3: Verbind regels, invoer en reacties10 Oefenvragen
Sla deze les op om elk antwoord te zien en elke set te oefenen.
Vraag 1 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 2 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 3 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 4 van 10
repeat until touching edge?: move 4 steps, gevolgd door say "There!". Wat gebeurt er?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 5 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 6 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 7 van 10
if distance < 3 km then walk, else if distance < 7 km then bike, else van. Wat wordt gekozen bij precies 3 km?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 8 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 9 van 10
if number < 10: "Blue" en daarna if number < 4: "Green". Wat gebeurt er bij 2 en welke verandering geeft alleen Green voor getallen onder 4?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 10 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Set 4: Doorloop programmeerfouten en test de grenzen10 Oefenvragen
Sla deze les op om elk antwoord te zien en elke set te oefenen.
Vraag 1 van 10
when right arrow key pressed: change x by 6. Je drukt vier keer op de pijl naar rechts en laat de toets steeds los. Hoe ver beweegt het naar rechts?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 2 van 10
when this character clicked staat bij de beer. Door welke verandering start een klik op het konijn de sprong?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 3 van 10
answer = 22. De dan-tak zegt “Goed gedaan!” en de anders-tak zegt “Probeer het nog eens.” De speler typt 24. Welke reactie wordt uitgevoerd?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 4 van 10
if timer > 20 then show "Done" else show "Wait". Je hebt 25 en 12 getest. Welke extra klokwaarde controleert de precieze grens?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 5 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 6 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 7 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 8 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 9 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 10 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Set 5: Los programmeerpuzzels op10 Oefenvragen
Sla deze les op om elk antwoord te zien en elke set te oefenen.
Vraag 1 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 2 van 10
if touching gem? then play chime en eindigt dat script. Je begint uit de buurt van de edelsteen en loopt er daarna naartoe. Hoe moet je het script veranderen om latere aanrakingen op te merken?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 3 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 4 van 10
if answer = 11: "Yes!"; else if answer < 11: "Too low!"; else: "Too high!". Wat gebeurt er bij een gok van 13?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 5 van 10
answer = 12 controleert. De speler typt eerst 12 en daarna 18. Welke waarde gebruikt die controle?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 6 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 7 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 8 van 10
if touching sand? then move 2 steps else move 7 steps en beweegt daarna nog 3 stappen buiten de keuze. Hij begint buiten het zand. Hoe ver beweegt hij bij deze uitvoering van het script?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 9 van 10
answer = 7 en vraagt daarna “Wat is 5 + 8?”, maar controleert nog steeds answer = 7. Een speler typt beide juiste getallen. Welke feedback volgt?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 10 van 10
value < 9 voor Middel en daarna value < 4 voor Klein. Welke oplossing werkt?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Kom je niet uit je eigen opgave? Huiswerkhulp
Kernbegrippen
A
Actie
Algoritme
Als-dan
Als-dan-anders
Anders-als-keten
Anders-tak
Antwoordblok
B
Beoordelen
Bericht verzenden
Besturing
D
Dan-tak
Debuggen
E
Efficiënte code
En
F
Feedback
G
Gebeurtenis
Gebeurtenisblok
Gelijk aan
= in deze blokken.answer = 8 om een antwoord met het getal 8 te controleren.Geneste keuze
Grenswaarde
temperature > 25.Groter dan
reading > 25 is onwaar als de meetwaarde precies 25 is.H
Herhaal-tot-lus
I
Invoer
K
Keuzestructuur
Kleiner dan
distance < 2 is waar voor een afstand van 1 km.Kortere code
L
Laatste anders-tak
N
Niet
O
Object
Of
Onbereikbare tak
Onwaar
Opnieuw starten
P
Parallelle scripts
Programmeerfout (bug)
R
Reactie die tijdelijk in beeld blijft
S
Script
Sensor
Spelregel
Sprite
Startgebeurtenis
Stilstaand object
Storyboard
Stroomschema
T
Tak
Testen
Testtabel
U
Uitvoer
V
Vergelijking
Verwacht resultaat
Voorbereiding
Voorwaarde
Voorwaarde om te winnen
Vraagblok
W
Waar
Werkelijk resultaat
X
x-positie
Over deze les
Door StudeliFout melden
Maak je eigen Studiemateriaal
Maak van je aantekeningen, slides en documenten Leermodules, Oefenvragen, Flashcards en 6 andere tools.