Skip to content

활동

점 주사위

초급 | MakeCode, Python | LED, 가속도 센서 | 난수, 선택 실행, 수 & 위치 값, 재표현, 확률

1단계: 만들어 보세요.

프로젝트 소개

숫자 대신 점으로 표시되는 마이크로비트 점 주사위 만들기

흔들린 micro:bit 의 LED 화면에 출력된 5개의 점

설명

  • 이 프로젝트에서는 주사위 만들기 프로젝트처럼 가속도 센서를 이용해 micro:bit 가 흔들렸는지 감지한 후, 1 이상 6 이하 범위의 랜덤 정수 값을 뽑아내고, 그 결과를 LED 화면 으로 출력합니다.
  • 뽑아낸 수를 화면에 그대로 출력하지 않고, 조건/선택 실행 구조 를 이용해서 그 수 만큼의 점으로 바꿔 출력합니다. 점 주사위의 각 면에 점들이 그려져 있는 것 처럼, 뽑힌 수 만큼 점으로 바꿔 출력합니다.

준비물

  • micro:bit (또는 MakeCode 시뮬레이터)
  • MakeCode 또는 Python 편집기
  • AAA 배터리 팩 (옵션)
  • 점 주사위의 점들을 직접 그려보기 위한 모눈 종이 (옵션)

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단계: 더 좋게 만들어 보세요.

  • LED 화면에 점을 출력한 후 몇 초 동안에만 화면으로 출력되도록 하면, 배터리를 더 오래 사용할 수 있습니다. 주사위를 연속으로 두 번 던진 것처럼 만들어도, 같은 방법으로 배터리를 더 오래 사용할 수 있습니다.
  • 주사위 각 면의 점들을 자유롭게 그려보세요.
  • 더 많은 범위의 숫자가 뽑힐 수 있도록 바꿔보세요. 그 수들을 어떻게 5x5 크기의 LED 화면에 표현할 수 있을까요?