Skip to content

Atividade

Jogo de Reação

Avançado | MakeCode, Python | Ecrã LED, Pins | Corpo humano, Design de produto, Eletricidade, Eletrónica, Entrada/Saída, Iteração, Lógica Booleana

Passo 1: Faz tu mesmo

O que é isto?

Faz um jogo de reação com interruptores físicos reais que podes carregar com toda a tua força!

dois interruptores de pressão caseiros ligados aos pins do micro:bit

Como é que funciona

  • Faz dois interruptores físicos de entrada usando cartão e papel de alumínio - semelhantes aos do Projeto de alarme com interruptor de pressão.
  • Liga-os aos pins do micro:bit como na imagem: um pad feito em papel de alumínio com uma ponta do interruptor ligada ao pin GND e a outra ao pin 1 ou pin 2, dependendo se és o jogador A ou o jogador B.
  • O programa espera um tempo aleatório entre 1 e 5 segundos e mostra um coração no ecrã de saída de LEDs.
  • Não vais conseguir que o botão funcione antes da luz acender. Este programa usa lógica booleana para evitar batotice! As variáveis booleanas só podem ter dois valores: Verdadeiro (True) ou Falso (False). A variável game started (jogo iniciado, em inglês) só começa a registar se um botão é pressionado quando o jogo começa, impedindo assim que qualquer um dos jogadores carregue no seu botão antes de tempo.
  • Um loop infinito mantem o jogo em funcionamento para que possas continuar a jogar.

Do que é que precisas

  • 1 micro:bit
  • 4 cabos com pinças de crocodilo
  • Uns bocados de cartão, papel de alumínio, cola e tesoura

Passo 2: Cria o teu código

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

Passo 3: Melhora-o

  • Usa variáveis para saber a pontuação de cada jogador
  • Acrescenta um temporizador para mostrar a rapidez de cada vencedor
  • Resgista qual dos jogadores tem o tempo de reação mais rápido