Skip to content

Aktywność

Graficzna kostka

Początkujący | MakeCode, Python | Akcelerometr, Wyświetlacz LED | Losowość, Numer & wartość miejsca, Prawdopodobieństwo, Reprezentacja, Wybór

Krok 1: Wykonaj to

Co to jest?

Projekt kostki do gry wyglądającej jak prawdziwa z wzorcami kropek zamiast cyfr.

micro:bit, gdy jest potrząsany, pokazuje 5 kropek na ekranie LED

Jak to działa

  • Podobnie jak Projekt Kostki, ten używa akcelerometru, aby uruchomić tworzenie losowej liczby między 1 a 6 i pokazać ją na wyświetlaczu LED, kiedy potrząśniesz micro:bitem.
  • Zamiast pokazywać liczbę, ten program używa selekcji, aby pokazać kropki na ekranie reprezentujące liczby. Wygląda to zupełnie jak kropki na powierzchni prawdziwej kostki, w zależności od tego, która liczba losowa została wygenerowana.

Czego potrzebujesz

  • micro:bit (lub symulator MakeCode)
  • MakeCode lub edytor Pythona
  • pakiet baterii (opcjonalnie)
  • pokratkowany papier do rysowania własnych stron kostki (opcjonalnie)

Krok 2: Zakoduj to

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"))

Krok 3: Ulepsz to

  • Spraw, aby wyświetlacz wygasał po kilku sekundach, aby baterie starczyły na dłużej i aby było widoczne, kiedy wyrzucisz identyczne kolejne dwie cyfry.
  • Narysuj własne wzory kropek, aby przedstawić każdą liczbę.
  • Spraw, aby micro:bit wyrzucał większe liczby. W jaki sposób zareprezentowałbyś je na wyświetlaczu mającym 5x5 LED?