Skip to content

Activiteit

Grafische dobbelsteen

Beginner | MakeCode, Python | Acceleratiemeter, LED scherm | Nummer & plaatswaarde, Selectie, Waarschijnlijkheid, Weergave, Willekeurig

Stap 1: Maak het

Wat is het?

Een dobbelsteen project dat eruitziet als een echte dobbelsteen met patronen van stippen in plaats van cijfers.

micro:bit dat geschud wordt met 5 stippen op zijn LED display

Zo werkt het

  • Net als het Dobbelsteen project gebruikt dit de accelerometer invoer om het creëren van een willekeurig getal tussen 1 en 6 te activeren en dit op de LED display uitvoer weer te geven wanneer je de micro:bit schudt.
  • In plaats van een getal weer te geven, gebruikt dit programma selectie om stippen op het scherm weer te geven om de getallen te representeren, die eruitzien als de stippen op elk vlak van echte dobbelstenen, afhankelijk van welk willekeurig getal is gegenereerd.

Benodigdheden

  • micro:bit (of MakeCode simulator)
  • MakeCode of Python editor
  • batterijpakket (optioneel)
  • ruitjespapier om je eigen dobbelstenen te ontwerpen (optioneel)

Step 2: Codeer het

1from microbit import *
2import random
3
4while True:
5    if accelerometer.was_gesture('shake'):
6        number = random.randint(1, 6)
7        if number == 1:
8            display.show(Image(
9            "00000:"
10            "00000:"
11            "00900:"
12            "00000:"
13            "00000"))
14        elif number == 2:
15            display.show(Image(
16            "00000:"
17            "00000:"
18            "90009:"
19            "00000:"
20            "00000"))
21        elif number == 3:
22            display.show(Image(
23            "00009:"
24            "00000:"
25            "00900:"
26            "00000:"
27            "90000"))
28        elif number == 4:
29            display.show(Image(
30            "90009:"
31            "00000:"
32            "00000:"
33            "00000:"
34            "90009"))
35        elif number == 5:
36            display.show(Image(
37            "90009:"
38            "00000:"
39            "00900:"
40            "00000:"
41            "90009"))
42        else:
43            display.show(Image(
44            "90009:"
45            "00000:"
46            "90009:"
47            "00000:"
48            "90009"))

Stap 3: Verbeter het

  • Maak het display na een paar seconden leeg om de batterijen langer mee te laten gaan en om duidelijk te maken wanneer je twee getallen hetzelfde hebt gegooid.
  • Teken je eigen stippatronen om elk nummer weer te geven.
  • Laat hogere getallen rollen. Hoe zou je ze weergeven op de 5x5 LED rasterweergave uitgang?