Er is nog één koek. Vier handen grijpen tegelijk. "Steen-papier-schaar!" roept Noor. Maar Sami speelt altijd steen, en Lien wacht altijd een fractie te lang. Valsspelen, zeggen ze allebei.
"Laat een machine kiezen," zegt Kiko met volle mond. Hij heeft de koek al.
Jouw missie: bouw een speler die nooit treuzelt en geen lievelingskeuze heeft.

Zo ziet het eruit als het af is

Echte schermafbeelding uit de simulator van MakeCode.
Skills die je vrijspeelt
- Een toevalsgetal bewaren in een variabele
- Beslissen met 'als ... dan ... anders'
- Een extra tak toevoegen met het plusje
- Zelf een prentje tekenen met 'toon lichtjes'
Je uitrusting
- MakeCode, nieuw project 'steenpapierschaar'
- Een micro:bit met batterijpakje: je schudt hem in je hand
- Een tegenstander (met of zonder micro:bit)
Hoe beslist een computer?
Een computer kiest niet zoals jij, met een gevoel. Hij vergelijkt. Is hand gelijk aan 1? Ja of nee. Dat antwoord heet waar of onwaar. Het als-blok kijkt naar dat antwoord en kiest één tak.
Daarom heeft het vergelijkblok een zeshoekige vorm: het past alleen in een zeshoekig gat, waar een ja/nee verwacht wordt.

Stap voor stap
Trek 1, 2 of 3
Variabelen

Toon de code (JavaScript)
let hand = 0
input.onGesture(Gesture.Shake, function () {
hand = randint(1, 3)
basic.showNumber(hand)
})
Als ... dan ... anders
Logisch
Toon de code (JavaScript)
let hand = 0
input.onGesture(Gesture.Shake, function () {
hand = randint(1, 3)
if (hand == 1) {
basic.showLeds(`
. . . . .
. # # # .
. # # # .
. # # # .
. . . . .
`)
} else {
basic.showIcon(IconNames.Scissors)
}
})

Een derde tak: papier
Logisch
Toon de code (JavaScript)
let hand = 0
input.onGesture(Gesture.Shake, function () {
hand = randint(1, 3)
if (hand == 1) {
basic.showLeds(`
. . . . .
. # # # .
. # # # .
. # # # .
. . . . .
`)
} else if (hand == 2) {
basic.showLeds(`
# # # # #
# . . . #
# . . . #
# . . . #
# # # # #
`)
} else {
basic.showIcon(IconNames.Scissors)
}
})

Klaar voor de volgende ronde
Invoer
Toon de code (JavaScript)
let hand = 0
input.onGesture(Gesture.Shake, function () {
hand = randint(1, 3)
if (hand == 1) {
basic.showLeds(`
. . . . .
. # # # .
. # # # .
. # # # .
. . . . .
`)
} else if (hand == 2) {
basic.showLeds(`
# # # # #
# . . . #
# . . . #
# . . . #
# # # # #
`)
} else {
basic.showIcon(IconNames.Scissors)
}
})
input.onButtonPressed(Button.A, function () {
basic.clearScreen()
})
Speel!
Simulator
Toon de code (JavaScript)
let hand = 0
input.onGesture(Gesture.Shake, function () {
hand = randint(1, 3)
if (hand == 1) {
basic.showLeds(`
. . . . .
. # # # .
. # # # .
. # # # .
. . . . .
`)
} else if (hand == 2) {
basic.showLeds(`
# # # # #
# . . . #
# . . . #
# . . . #
# # # # #
`)
} else {
basic.showIcon(IconNames.Scissors)
}
})
input.onButtonPressed(Button.A, function () {
basic.clearScreen()
})


Testen en op je micro:bit
Eerst in de simulator
Links in de editor staat de simulator: een micro:bit op je scherm. Telkens je iets verandert, start hij opnieuw. Klik op A en B, of op SHAKE om te schudden. Sensoren krijgen een schuifje of bolletje waarmee je zelf licht, warmte of richting kiest.
Dan op je echte micro:bit
Steek de micro:bit met de USB-kabel in de computer en klik op Downloaden. Heb je hem gekoppeld (basisboekje), dan gaat je programma er meteen op. Anders krijg je een bestand dat eindigt op .hex: sleep het naar de schijf MICROBIT. Het gele lampje achteraan knippert. Stopt het? Dan draait je code.

Kies je pad
Toernooi! Hoe spelen jullie?
Eerlijk, want de micro:bit heeft geen lievelingskeuze. Maar winnen van een machine voelt minder leuk.
Twee spelers schudden tegelijk en tonen hun scherm. Snel, spannend, en niemand kan treuzelen.
Er is geen fout antwoord. Klik op een keuze en lees de gevolgen. Bespreek ze met je club.
Bonuslevels
Eindbaas-vragen
Niet opzoeken: denk, test, en schrijf je antwoord op.


