← Back to CoursesMicro:bit: De Clubhut
MISSIE 4★★★★

De Clubhut · micro:bit

Steenpapier schaar

Wat bouw je? Schud je micro:bit en hij kiest steen, papier of schaar. Speel een toernooi tegen de hele club.
Brecht Corbeel · schoolium.me
MISSIE 4

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.

Level 4 ★★★★Tijd 45 minVoor 10-13 jaar

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

1

Trek 1, 2 of 3

Variabelen
Maak een variabele hand. Zet in bij schudden het blok stel hand in op met kies willekeurig 1 tot 3 erin. Toon de variabele even met toon nummer: zo zie je of het werkt.
Jouw blokken in MakeCode
jouw blokken
De simulator
simulator
Toon de code (JavaScript)
let hand = 0
input.onGesture(Gesture.Shake, function () {
    hand = randint(1, 3)
    basic.showNumber(hand)
})
2

Als ... dan ... anders

Logisch
Haal uit Logisch het blok als waar dan ... anders. Zet in het zeshoekige gat de vergelijking 0 = 0 en maak er hand = 1 van. Bij 1 teken je een steen met toon lichtjes, anders toon je de schaar.
Jouw blokken in MakeCode
jouw blokken
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)
    }
})
Tip. Klik op de vakjes van 'toon lichtjes': blauw is uit, wit is aan.
3

Een derde tak: papier

Logisch
Klik op het plusje onderaan het als-blok. Er komt een tak anders als bij. Zet daar hand = 2 in en teken een vel papier: een kader van lichtjes.
Jouw blokken in MakeCode
jouw blokken
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)
    }
})
Werkt het niet? Komt de schaar nooit? Kijk of bij 'als' en 'anders als' een ander getal staat: 1 en 2.
4

Klaar voor de volgende ronde

Invoer
Voeg wanneer knop A wordt ingedrukt toe met wis scherm. Zo begint elke ronde met een leeg scherm.
Jouw blokken in MakeCode
jouw blokken
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()
})
5

Speel!

Simulator
Klik een paar keer op SHAKE. Zie je steen, papier en schaar verschijnen? Wie wint van de micro:bit?
De simulator
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()
})
Gelukt als ... Na een paar keer schudden zag je alle drie de prentjes.

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?

Er is geen fout antwoord. Klik op een keuze en lees de gevolgen. Bespreek ze met je club.

Bonuslevels

Bonuslevel 1
Hou je punten bij met een variabele punten. Knop B toont je score.
Bonuslevel 2
Voeg een vierde keuze toe, bijvoorbeeld 'put'. Wat moet je aan kies willekeurig veranderen?
Eindbaas-level
Laat de micro:bit eerst aftellen 3, 2, 1, en pas dan zijn keuze tonen. Precies zoals bij echte spelers.

Eindbaas-vragen

Niet opzoeken: denk, test, en schrijf je antwoord op.

Missie geslaagd als ...

Woorden voor je codeboek

als ... dandoet iets alleen als iets waar is
anderswat er gebeurt als het niet waar is
vergelijkingkijkt of iets gelijk, groter of kleiner is: het antwoord is waar of onwaar
toon lichtjesteken zelf een prentje op de 25 lichtjes
Download als PDFGewone A4: één pagina per blad. A5: boekjesformaat. Vouw-A4: dubbelzijdig, korte kant omslaan.