Skip to content

Atividade

Jogo de Reação

Avançado | MakeCode, Python | Pinos, Visor LED | Corpo humano, Design do produto, Eletricidade, Eletrônicos, Entrada/saída, Iteração, Lógica booleana

Primeiro passo: o projeto

O que é?

Faça um jogo de reação com "botões" de verdade, nos quais você pode bater com a força que quiser.

Dois "botões" (interruptores) caseiros sensíveis à pressão conectados aos pinos do micro:bit

Como funciona:

  • Faça dois conjuntos de botões reais com papel alumínio e dois pedaços de papelão, semelhantes aos usados ​​no projeto Alarme sensível à pressão;
  • Conecte os botões aos pinos do micro:bit como na imagem: cada botão é ligado aos pinos GND e aos pinos um ou dois — dependendo se você é o jogador A ou o B;
  • O programa espera um tempo aleatório entre um e cinco segundos e depois mostra um coração no visor LED;
  • Você não pode apertar o botão antes da luz acender, pois o código usa a lógica booleana para impedir que alguém trapaceie! Variáveis ​​booleanas podem ter apenas dois valores: verdadeiro ou falso. A variável game started (o jogo começou) evita que qualquer jogador pressione o botão muito cedo, pois esta verifica o botão pressionado enquanto o jogo é iniciado;
  • Um laço de repetição (loop) infinito mantém o jogo rodando para que você possa continuar jogando.

Itens necessários:

  • Um micro:bit;
  • Quatro cabos garra jacaré;
  • Pedaços de papelão, papel-alumínio, cola e tesoura.

Segundo passo: é hora de programar

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

Terceiro passo: vamos deixar o código ainda melhor

  • Use variáveis ​​para registrar a pontuação de cada jogador;
  • Adicione um cronômetro para mostrar a rapidez de cada vencedor;
  • Registre qual jogador tem o tempo de reação mais rápido;