Het is 1870, je staat oog in oog met je aardsvijand Billy Bob, een beruchte schurk. Op de 3de tel trekken jullie je geweer. In deze quickreact game kun je dit gevoel herbeleven. Doormiddel van schudden, en het drukken van knoppencombinaties moet jij de vijand te snel af zijn. Denk jij dat het jou zou lukken, maak dan gauw dit spel.

Benodigdheden

  • Microbit
  • Computer
  • Javascript block editor

 

Uitleg

Goed. Hoe maak je dit prachtige spelletje nu? Allereerst is het handig om te weten wat de verschillende knoppen zijn. In deze versie van het spel hebben we de volgende knoppen gebruikt: De A-knop, de B-knop, de combinatie van A & B en de shake(knop). (Het originele spelletje kun je hier vinden: Quickfinger

Stap 1:

Allereerst moeten we een paar variabelen aan maken die ons helpen bij het spel. De eerste variabele die we  gaan maken is de score. Ga naar “advanced”, Game en sleep set score naar je venster. Het getal dat erachter staat verander je in 0 (dat is ook de standaard waarde).

Vervolgens willen we een countdown maken voordat het spel begint. Hiervoor hebben we nog een variabele nodig. Eerst hebben we echter een loop nodig, dit zorgt ervoor dat een actie voor een bepaald aantal keren wordt uitgevoerd. Ga naar “loop” en sleep het repeat block naar je veld. Bij repeat … times vul je 3 in, want de timer gaat van 3 naar 1. Hiervoor zijn 3 stappen nodig. In deze loop, gaan we het aftellen maken.

Binnen de loop gaan we nog een variabele aanmaken. Deze noemen we “count”, we gaan ervoor zorgen dat count elke stap in de loop één minder wordt. In de loop zetten we het volgende: ga naar variables, sleep change … by .. naar je veld. Bij change vul je count in en bij by vul je -1 in, aangezien het één minder moet worden in elke stap. Daarna willen we het getal nog laten zijn, hiervoor ga je naar “basic” en dan naar show number. Dan ga je naar variables en pak je het woordje “count” en plak je dat erachter.

Als je stap één goed hebt gedaan, ziet je code er zo uit:

Stap 2:

Na de countdown begint het spel. Allereerst moeten we de hoeveelheid rondes aangeven. Hiervoor gebruiken we weer een nieuwe loop. Je kan hier weer het repeat block pakken maar wij gebruiken nu een andere: Ga naar loops, en kies for index from 0 to … Je mag het woord index veranderen in een andere naam, maar dat hoeft niet. Na het woord “to” zet je 10 neer. Want we willen natuurlijk 10 rondes.

Binnen dit groene blok komt het hele spel. Eerst moeten we zorgen dat het speelveld leeg is: Ga naar basic en klik op more, vervolgens sleep je “clear screen” naar je loop. Daarna willen we een korte pauze in lassen: Ga naar basic en sleep pause (ms) naar je veld. Hierin kunnen we het aantal miliseconden aangeven dat het spelletje moet wachten tot hij verder gaat. Voor nu zetten we dat op 500, dat is een halve seconde. Als dit te langzaam is, dan doe je gewoon wat minder.

Nu komen we bij het keuze gedeelte. We laten de computer een willekeurig getal kiezen, en dat getal bepaalt welke knop je moet indrukken. Hiervoor hebben we weer een variabele nodig. Deze noemen we AorB (A of B). Om een nummer te bepalen moeten we het volgende doen: Ga naar variables en pak daar “set [variable] to …”. Dan ga je naar Math en selecteer je “pick random 0 to …” Deze plak je erachter. En vul je na het woord to een 3 in. Dit houdt in dat de variabele 0, 1, 2 of 3 kan zijn.

Nu spreken we af dat voor elk nummer je een andere handeling moet doen. Om precies te zijn: bij nul moet je B (rechts) indrukken, bij één moet je A (links) indrukken, bij nummer twee moet je A en B tegelijk indrukken en bij nummer drie moet je schudden. Om dit te kunnen realiseren gebruiken we if-statements: Ga naar logic en dan kies je if … then … Na de if plakken we een ander blokje, eerst slepen we bij logic het blokje 0=0 ernaartoe, dan vervangen we de eerste nul voor de variabele “AorB” (onder kopje Variables) en de tweede nul kunnen we laten staan. Omdat we afgesproken hadden dat bij nul het rechter knopje ingedrukt moest worden, moeten we dus een pijl naar rechts tekenen in deze if-statement: Ga naar basic en pak het veld met lege blokjes (“show leds”). Sleep deze in je if-statement en teken een pijl naar rechts, hierna zetten we nog een korte pauze, weer via basic en dan het woordje pause, opnieuw 500 ms.

Doe dit nu ook voor de andere twee. Let hierbij op dat je AorB = 0, aanpast naar AorB = 1 en AorB = 2 en AorB = 3. Ook moet je natuurlijk een andere pijl tekenen, bij 3 (schudden) tekenen we een S. Als je dat allemaal goed hebt gedaan dan ziet het er zo uit:

Stap 3:

Nu we alle pijlen hebben getekend, moeten we natuurlijk wel controleren of de speler de juiste knop heeft ingedrukt. Hiervoor gaan we een hele lange if-statement maken. Eerst pakken we weer de normale if-statement, maar dan drukken we op het tandwieltje linksboven zodat we wat dingen toe kunnen voegen. Nu voegen we tussen de “if” en de “Else” voegen we 3 “else if” blokken toe. Bij elke if of else if voegen we een controle toe, waarbij we gaan kijken of de goede knop ingedrukt is.

Bij de eerste if moet het nummer AorB 0 zijn en moet dan dus knop B ingedrukt zijn. Hiervoor moeten we dus twee dingen controleren. Ga naar logic en pak daar het [.. and …] blokje. In het linker hokje gaan we controleren of knop B is ingedruk. Ga naar input en pak “button [a] is pressed” (NIET “on button [a] pressed”). In plaats van a selecteer je b. In het rechter hokje van het “and” blokje gaan we controleren of de variabele AorB de waarde 0 heeft. Pak weer het [0=0] blok en de eerste nul vervang je door de variabele AorB en de tweede nul kun je weer laten staan.

Als dit klopt dan moeten we natuurlijk wel laten zien dat het klopt. Dit gaan we doen door een hoge toon te laten klinken en een vinkje op het scherm te laten zien. Voor de hoge toon ga je naar Music en dan pak je [play tone … for 1 beat]. Je kunt elke toon kiezen die je leuk vind maar wij gebruiken in dit geval de “High C”. Voor het vinkje ga je naar basic [Show icon], tussen de icoontjes zoek je het vinkje en klik je die aan. Omdat je het goed hebt moeten we de score ook verhogen, ga naar de game tab en kies [change score by 1].

Dit doe je ook voor de andere nummers (1 & 2), vergeet niet om de juiste getallen op de goede plek te zetten. Als je het goed doet komt het eerste gedeelte er zo uit te zien:

Het laatste stukje is het schudden. Deze kunnen we net niet op de zelfde manier doen. Er is namelijk geen input blokje voor “shake”. Wel is er een blokje dat heet [On shake]. Via een omweg kunnen we er toch voor zorgen dat het werkt. Ga naar Input en pak het blokje on shake. Ga naar variables en pak het blokje [set “variable” to “number”]. Voor variable maak je een nieuwe variabele aan en die noem je shake. Het nummer verander je door één. Iedere keer als je de Microbit schudt dan wordt de variabele één. Tijdens de controle kunnen we dus zeggen dat als AorB = 3 en shake = 1, het dus klopt.

Dat ziet er dus zo uit.

Nu zijn we bijna klaar, maar stel dat de speler niet op tijd het juiste knopje in kan drukken dan moeten we dat ook laten zien. Hiervoor gaan we een lage toon afspelen en een kruisje op het scherm laten zien. Hiervoor gebruiken we het laatste stukje van de hele lange if-statement (het else stukje). Sleep hier weer het [play tone] blokje naar toe en kies een lagere toon, vervolgens ga je naar basic [show icon] en kies je het kruisje.

Als allerlaatste moeten we aan het einde van alle rondes, dus buiten het groene blok. Ga naar basic en kies daar het [Show number …] blokje. Ga vervolgens naar game en kies daar het blokje dat zegt [score] en plaats die in het andere blokje.

GEFELICITEERD! Als alles goed is gegaan dan heb je nu een cool spel uit het oude wilde westen!

Hieronder kun je het complete spel nog eens bekijken.

Categorieën: Microbit