Skip to content

활동

반응 시간 측정 게임

고급 | MakeCode, Python | LED, | 반복 실행, 불 논리, 상품 디자인, 인체, 입력/출력, 전기, 전자공학

1단계: 만들어 보세요.

프로젝트 소개

스위치를 최대한 빠르게 눌러 반응 시간을 측정하는, 반응 시간 측정 게임을 만들어 보세요!

직접 만든 2개의 압력 감지 스위치가 micro:bit 핀에 연결되어있는 그림

설명

  • 판지와 알루미늄 호일을 사용해서 2개의 스위치를 만듭니다.– 압력 스위치 경보기 프로젝트에서 만들었던 스위치 처럼 만들었습니다.
  • 만든 스위치들을 그림처럼 micro:bit 핀들로 연결합니다. – 두 스위치의 한 쪽 호일 조각은 GND 핀에 연결하고, 플레이어 A 용 스위치의 다른 한 쪽 호일 조각은 1 번 핀에 연결하고, 플레이어 B 용 스위치의 다른 한 쪽 호일 조각은 2 번 핀으로 연결합니다.
  • 프로그램에서는 랜덤으로 1초 이상 5초 이내의 시간 동안 아무것도 하지 않고 시간을 흘립니다. 그 시간이 다 흐르고 나면, 마이크로비트의 LED 화면에 하트 모양을 출력합니다.
  • 게임이 시작되었는지 아닌지를 확인하기 위해, 불(참/거짓) 논리를 사용해서 검사하기 때문에, 하트 모양이 나타나기 전에 먼저 스위치를 눌러도 소용이 없습니다. 하트 모양이 나타난 후에 스위치를 눌러야만 인정이 됩니다. 불 변수에는 2가지 값 만 저장될 수 있습니다.: True(참), False(거짓) 만 저장할 수 있습니다. 불 변수 ‘game started‘를 사용하면, 게임이 시작되기 전에 플레이어가 스위치를 누른 것을 인정하지 않도록 할 수 있습니다. 게임이 시작되어서 끝나기 전인 시간 동안에만 스위치를 누른 것을 인정해야 합니다.
  • 무한 반복 실행 루프를 사용했기 때문에, 계속 반복해서 게임이 실행됩니다.

준비물

  • micro:bit 1대
  • 악어 집게선 4개
  • 판지 조각, 알루미늄 호일, 풀, 가위

2단계: 프로그래밍 해보세요.

1from microbit import *
2import random
3
4while True:
5    gameStarted = False
6    sleep(random.randint(1000, 5000))
7    gameStarted = True
8    display.show(Image.HEART)
9    while gameStarted:
10        if pin1.is_touched():
11            display.show('A')
12            gameStarted = False
13        elif pin2.is_touched():
14            display.show('B')
15            gameStarted = False
16    sleep(3000)
17    display.clear()
18

3단계: 더 좋게 만들어 보세요.

  • 각 플레이어의 점수를 저장하기 위해 변수들을 추가해 보세요.
  • 이긴 플레이어의 반응 시간을 출력할 수 있도록 타이머를 추가해 보세요.
  • 가장 빠른 반응 시간을 저장시켜 확인해 보세요.