Skip to content

Actividad

Juego de reacción

Avanzado | MakeCode, Python | Pantalla LED, Pines | Cuerpo humano, Diseño de producto, Electricidad, Electrónica, Entrada/salida, Iteración, Lógica booleana

Paso 1: Hazlo

¿Qué es?

¡Haz un juego de reacción con interruptores auténticos y físicos que puedes golpear tan fuerte como quieras!

dos interruptores caseros de presión conectados a pines del micro:bit

Cómo funciona

  • Haz dos interruptores físicos de entrada con cartón y papel de aluminio – similar a los usados en el proyecto de Alarma con placa de presión.
  • Conéctalos a los pines del micro:bit como en la imagen: una almohadilla de papel de aluminio en cada interruptor va al pin GND del micro:bit, y la otra va conectada al pin 1 o al pin 2 dependiendo de si eres jugador A o jugador B.
  • El programa espera un tiempo aleatorio entre 1 y 5 segundos, y a continuación muestra un corazón en la pantalla LED.
  • Este programa emplea lógica booleana para evitar que se hagan trampas, ¡y no haya nadie que se pase de listo! Las variables booleanas solamente pueden tener dos valores: true (verdadero) o false (falso). El programa usa la variable game started (en inglés, "juego empezado") para comprobar si alguien pulsa los botones sólo si el juego ya ha comenzado, ignorándolos si alguien le da antes de tiempo.
  • Un bucle infinito mantiene el juego funcionando para que puedas seguir jugando.

Qué necesitas

  • un micro:bit
  • 4 cables con pinzas de cocodrilo
  • Retales de cartón, papel de aluminio, pegamento y tijeras

Paso 2: Prográmalo

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

Paso 3: Mejóralo

  • Usa variables para llevar la puntuación de cada jugador
  • Añade un cronómetro para mostrar el tiempo de reacción del ganador
  • Registra cual de los jugadores tiene el tiempo de reacción más rápido