Wat leer je?
- Vragen stellen met vraag ... en wacht en het blokje antwoord
- Tekst vergelijken met de operator = in een als ... dan ... anders
- Zinnen aan elkaar plakken met samenvoegen
- Wat een lijst is en waarin ze verschilt van een variabele
- Met item ... van ... en een teller door al je vragen wandelen
- Een eindscore én een percentage berekenen
Wat heb je nodig?
- Een nieuw, leeg Scratch-project
- Eén sprite die je quizmaster wordt — de kat mag gewoon blijven staan
- Drie quizvragen die je zelf verzint (of neem die van ons over)
- Opdracht 5 gemaakt hebben helpt: je kent variabelen dan al
Nog even opfrissen hoe een als/anders-blok werkt? Kijk bij De werkplek.
Stap voor stap
Alles in deze opdracht gebeurt bij één sprite: je quizmaster. Klik die dus altijd eerst aan voor je blokken sleept. Vink een stap af als hij klaar is; je browser onthoudt dat.
Zet je quizmaster klaar
UiterlijkStart een nieuw project. De kat mag blijven staan, of kies via de sprite-knop rechtsonder een andere figuur die er als quizmaster uitziet. Zet je sprite iets onder het midden neer, want onderaan het speelveld verschijnt straks het invulvak. Begin met een korte welkomstboodschap.
- Mijn quizmaster begroet me netjes
Maak de variabele "score"
VariabelenKlik op de oranje categorie Variabelen en dan op Maak een variabele. Noem ze score, voor alle sprites. Zet ze meteen op 0, vlak onder je hoedblok — dus voordat de eerste vraag komt.
- De variabele score staat op 0 bij de start
Stel je eerste vraag
WaarnemingKlik op de lichtblauwe categorie Waarneming en sleep het bovenste blok, "vraag ... en wacht", onderaan je script. Typ je vraag in het witte vakje. Klik op de vlag: onderaan het speelveld verschijnt nu een invulbalkje met een blauw pijltje.
- Er verschijnt een invulbalkje onderaan het speelveld
Het blokje "antwoord": waar komt je tekst terecht?
WaarnemingVlak onder "vraag ... en wacht" staat in dezelfde categorie een klein ovaal blokje: antwoord. Daarin bewaart Scratch wat de speler net getypt heeft. Sleep het in het witte vakje van een "zeg"-blok om te bewijzen dat het werkt.
- Mijn sprite herhaalt wat ik getypt heb
Testmoment — praat je project terug?
controleKlik op de vlag, typ iets geks in het balkje en druk op enter. Je sprite hoort jouw tekst te herhalen. Lukt het niet? Loop deze lijst af:
- Verschijnt er géén invulbalkje? Dan hangt "vraag ... en wacht" los, of staat het onder een blok dat nooit klaar is (zoals een "herhaal voortdurend").
- Zegt je sprite letterlijk het woord "antwoord"? Dan heb je het woord ingetypt in plaats van het ovale blokje erin gesleept. Verwijder de tekst en sleep het blokje er echt in — je ziet het vakje oplichten als het erin mag.
- Zegt je sprite niets? Klik één keer op het speelveld voor je typt, en check of het "zeg"-blok wel onder het vraag-blok hangt.
- Ik typ iets en mijn sprite zegt het na
Controleer het antwoord met als ... dan ... anders
BesturingGooi het "zeg antwoord"-blok weg en zet er een "als ... dan ... anders" voor in de plaats. In het zeshoekje sleep je de operator = uit de groene categorie Operatoren. Links komt het ovale blokje antwoord, rechts typ je het juiste antwoord: Brussel. In de dan-tak beloon je de speler, in de anders-tak vertel je wat het wél was.
- Juist antwoord geeft een punt, fout antwoord geeft uitleg
Voeg een tweede en derde vraag toe
WaarnemingKlik met de rechtermuisknop op je "vraag"-blok en kies dupliceren: je krijgt een kopie van dat blok én alles wat eronder hangt. Klik de kopie onderaan vast en pas de vraag én het juiste antwoord aan. Doe dat nog eens voor vraag drie.
- Mijn quiz stelt drie vragen na elkaar
Toon de eindscore met "samenvoegen"
OperatorenHelemaal onderaan je script wil je zoiets zeggen als "Je had 2 van de 3 goed". Maar je kan geen tekst én een variabele in hetzelfde witte vakje typen. Daarvoor bestaat samenvoegen uit Operatoren: het plakt twee stukjes tekst aan elkaar tot één stuk. Sleep in het tweede vakje van het buitenste blok een tweede samenvoegen — zo plak je drie stukken aan elkaar.
- Aan het einde zie ik mijn score in een volledige zin
Testmoment — speel je quiz twee keer
controleSpeel je quiz één keer met allemaal juiste antwoorden en één keer met allemaal foute. De eindzin moet beide keren kloppen. Controleer:
- Krijg je bij alles juist ook echt 3? Zo niet: in één van je als-blokken ontbreekt "verander score met 1", of staat hij per ongeluk in de anders-tak.
- Begint je tweede spel weer op 0? Zo niet: "maak score 0" staat niet bovenaan.
- Typ eens brussel met een kleine letter. Dat wordt gewoon goedgekeurd — Scratch let niet op hoofdletters. Typ nu eens Brussel met een spatie erachter, of Bruxelles: dat wordt fout gerekend.
- Blijft de eindzin aan elkaar geplakt staan? Zet zelf spaties in je tekstvakjes.
- Mijn quiz telt correct, ook bij een tweede beurt
De slimme manier: maak twee lijsten
LijstenOnderaan de categorie Variabelen staat de knop Maak een lijst. Maak er twee: vragen en antwoorden. Ze verschijnen als twee vensters op je speelveld. Vul ze met het plusje linksonder in elk venster, óf laat je script het doen met "voeg ... toe aan ...". Het belangrijkste: vraag 1 en antwoord 1 moeten op dezelfde plaats staan, vraag 2 bij antwoord 2, enzovoort.
- Ik zie drie vragen en drie antwoorden netjes op dezelfde plaatsen staan
Een teller en een lus die precies vaak genoeg draait
BesturingMaak een gewone variabele nummer en zet ze op 1: dat is het vakje waar je nu naar kijkt. Sleep daarna een "herhaal ..."-blok uit Besturing, en zet in het witte vakje het ovale blokje lengte van vragen uit de lijstenblokken. Onderaan in de lus zet je "verander nummer met 1", zodat je elke ronde één vakje opschuift.
- Mijn sprite telt 1, 2, 3 — precies zoveel keer als er vragen zijn
Haal vraag én antwoord uit het juiste vakje
LijstenVervang het tijdelijke "zeg nummer" door het echte werk. Sleep het ovale blokje item ... van ... in het vakje van "vraag ... en wacht", kies de lijst vragen, en zet in het nummervakje de variabele nummer. Doe daarna hetzelfde aan de rechterkant van je =-vergelijking, maar dan met de lijst antwoorden. Eén als/anders-blok volstaat nu voor álle vragen.
- Mijn korte script stelt alle drie de vragen uit de lijst
Eindscore én percentage
OperatorenZet onder de lus je eindboodschap. Gebruik nu ook hier "lengte van vragen" in plaats van het vaste getal 3. Reken daarna het percentage uit met score × 100 ÷ aantal vragen, en stop dat in het blokje afgerond zodat je geen lelijke 66.6666667 krijgt.
- Ik krijg mijn score én een percentage te zien
Eindtest — bewijs dat je quiz slim is
controleDe echte test van deze opdracht is niet of je quiz werkt, maar of je hem kan uitbreiden zonder je code aan te raken. Doe dit:
- Voeg een vierde vraag toe met twee extra "voeg ... toe aan ..."-blokken. Speel opnieuw: je quiz stelt nu vanzelf vier vragen en het percentage klopt nog steeds. Moest je ergens anders iets veranderen? Dan gebruik je ergens nog een vast getal 3 in plaats van "lengte van vragen".
- Speel één keer alles juist (100 procent) en één keer alles fout (0 procent).
- Stelt je quiz twee keer dezelfde vraag, of slaat hij er eentje over? Dan staat "verander nummer met 1" op de verkeerde plek: hij hoort helemaal onderaan in de lus, na het als/anders-blok.
- Blijft je quiz aan vraag 1 plakken? Dan staat "maak nummer 1" per ongeluk in de lus in plaats van erboven.
- Krijg je een leeg vraagvenster? Dan telt je nummer verder dan het aantal vakjes, of ben je "verwijder alles uit ..." vergeten en zitten er dubbele items in je lijst.
- Mijn opdracht 6 is af — extra vragen toevoegen kost me tien seconden
Het volledige script
Dit is de slimme versie: één script dat evenveel vragen aankan als er in je lijst staan. Alles hangt bij dezelfde sprite, in één stapel.
Sprite: Quizmaster — het vullen van de lijsten
Sprite: Quizmaster — de quiz zelf (hangt gewoon verder onder het vorige stuk)
Uitdagingen
Klaar en nog tijd over? Deze drie uitdagingen hebben géén uitgewerkte oplossing — zoek zelf uit hoe je ze oplost. Alle blokken die je nodig hebt, ken je nu.
Tien vragen over jouw favoriete onderwerp
makkelijkBreid je quiz uit tot tien vragen over iets wat jij goed kent: dieren, voetbal, games, geschiedenis. Je mag daarbij géén enkel blok uit de lus veranderen — alleen "voeg ... toe aan ..."-blokken bijmaken. Lukt dat, dan heb je bewezen dat je script echt slim gebouwd is.
Een tweede kans
middelGeef de speler bij een fout antwoord één herkansing, die maar een half punt oplevert. Tip: in de anders-tak stel je gewoon dezelfde vraag nog eens, met daarin opnieuw een als/anders. Extra pittig: laat je sprite bij die tweede kans de eerste letter van het antwoord verklappen — daarvoor bestaat een operator met "letter ... van ...".
Vragen in willekeurige volgorde
pittigZorg dat de vragen elke beurt in een andere volgorde komen. Tip: in plaats van je teller met 1 te verhogen, kies je "nummer" met "willekeurig getal tussen 1 en (lengte van vragen)". Maar pas op — dan kan dezelfde vraag twee keer komen. Hoe los je dát op? Denk aan een derde lijst waarin je bijhoudt welke nummers al geweest zijn, of aan het blok "verwijder item ... uit ...".