import machine
import utime
import urandom
pin_boton_jugador1 = machine.Pin(40, machine.Pin.IN, machine.Pin.PULL_DOWN)
pin_boton_jugador2 = machine.Pin(42, machine.Pin.IN, machine.Pin.PULL_DOWN)
pin_boton_reset = machine.Pin(45, machine.Pin.IN, machine.Pin.PULL_DOWN)
pin_led_jugador1 = machine.Pin(37, machine.Pin.OUT)
pin_led_jugador2 = machine.Pin(47, machine.Pin.OUT)
pin_segmento_a = machine.Pin(13, machine.Pin.OUT)
pin_segmento_b = machine.Pin(12, machine.Pin.OUT)
pin_segmento_c = machine.Pin(14, machine.Pin.OUT)
pin_segmento_d = machine.Pin(10, machine.Pin.OUT)
pin_segmento_e = machine.Pin(8, machine.Pin.OUT)
pin_segmento_f = machine.Pin(17, machine.Pin.OUT)
pin_segmento_g = machine.Pin(20, machine.Pin.OUT)
numeros_display = {
1: (0, 1, 1, 0, 0, 0, 0),
2: (1, 1, 0, 1, 1, 0, 1),
3: (1, 1, 1, 1, 0, 0, 1),
4: (0, 1, 1, 0, 0, 1, 1),
5: (1, 0, 1, 1, 0, 1, 1),
6: (1, 0, 1, 1, 1, 1, 1),
}
def mostrar_numero(numero):
pin_segmento_a.value(numeros_display[numero][0])
pin_segmento_b.value(numeros_display[numero][1])
pin_segmento_c.value(numeros_display[numero][2])
pin_segmento_d.value(numeros_display[numero][3])
pin_segmento_e.value(numeros_display[numero][4])
pin_segmento_f.value(numeros_display[numero][5])
pin_segmento_g.value(numeros_display[numero][6])
def generar_numero_aleatorio():
return urandom.randint(1, 6)
def reiniciar_juego():
print("Reiniciando juego...")
pin_led_jugador1.off()
pin_led_jugador2.off()
def jugar():
numeros_jugador1 = set()
numeros_jugador2 = set()
while True:
if pin_boton_jugador1.value() == 1:
numero = generar_numero_aleatorio()
mostrar_numero(numero)
if numero in numeros_jugador1:
pin_led_jugador1.on()
else:
numeros_jugador1.add(numero)
utime.sleep(0.5)
if pin_boton_jugador2.value() == 1:
numero = generar_numero_aleatorio()
mostrar_numero(numero)
if numero in numeros_jugador2:
pin_led_jugador2.on()
else:
numeros_jugador2.add(numero)
utime.sleep(0.5)
if pin_boton_reset.value() == 1:
reiniciar_juego()
utime.sleep(0.5)
jugar()