Skip to content

活动

图形骰子

初学者 | MakeCode, Python | LED显示器, 加速计 | 数字 & 位置值, 概率, 表示, 选择, 随机化

第 1 步:制作

这是什么?

一个骰子项目,看起来像一个真正的骰子,带有点状图形而不是数字。

摇动micro:bit,其LED屏上显示5个点

工作原理

  • 骰子项目一样,它使用加速度计输入去触发创建1到6之间的随机数,在摇动micro:bit时将其显示在LED显示输出上。
  • 它不显示数字,而是使用选择在显示屏上显示点来表示数字,点数取决于生成的随机数,就像真的骰子每一面的点数。

所需材料

  • micro:bit (或者是MakeCode模拟器)
  • MakeCode 或者 Python 编辑器
  • 电池盒(选配)
  • 方格纸,用于设计你自己的骰子面(可选)

第 2 步:编程

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

第 3 步:完善它

  • 显示几秒钟后清除屏幕,以使电池使用时间更长,连续抛出两个相同数字时也清除屏幕。
  • 绘制自己的点图案以代表每个数字。
  • 使它能抛出更大的数字。 你将如何在 5x5 LED 网格显示输出中表示它们呢?