STATUS: APROBADO (NIVEL COMPETITIVO)

Reflex Arena

Protocolo de Duelo de Milisegundos. Justicia digital para humanos lentos.

OP. MANUEL GONZÁLEZ OP. ADRIÁN LÁZARO

ARQUITECTURA

Implementación sobre micro:bit V2 usando máquinas de estados finitos.

> STACK: MakeCode
> LATENCIA: < 1ms

OBJETIVO

Sistema de arbitraje 1vs1. Detección de ganadores y castigo automático por salidas en falso.

> MODO: PvP Local
> EMPATES: Imposibles

COMPLEJIDAD

Programación lógica avanzada. Requiere gestión de eventos paralelos y variables globales.

> TIEMPO: 2 Sesiones
> ERROR MARGIN: 0%

FACTOR LEYENDA // Por qué este proyecto no es basura

Sistema "Lockout"

El ganador bloquea electrónicamente el pulsador del perdedor. Cero discusiones.

Cronometría Forense

No solo dice quién ganó, humilla al perdedor mostrando la diferencia en milisegundos.

Justicia Robótica

Detector de "Gatillo Fácil". Si pulsas antes de la luz, el punto es para el rival.

HARDWARE LOADOUT

AVISO DE SEGURIDAD: Usad pulsadores externos (fruta, aluminio) conectados a los PINES 1 y 2. Usar los botones A/B integrados provocará cabezazos accidentales. CREATICS no cubre gastos dentales.

INGENIERÍA DEL SISTEMA

logic_core.ts

// 1. DEFINICIÓN DE VARIABLES GLOBALES

let Puntos_P1 = 0;
let Puntos_P2 = 0;
let Tiempo_Inicio = 0;
let Estado_Juego = 0;
// 0 = Esperando (Gatillo fácil = Castigo)
// 1 = GO! (Fuego libre)
// 2 = Acabado (Bloqueo activo)

// 2. LÓGICA DE DISPARO (Ejemplo Player 1)

al_pulsar_pin_P1() {

// CASO A: TRAMPOSO (Pulsó antes de tiempo)

if (Estado_Juego == 0) {

mostrar_icono(X); sonido_error();

Puntos_P2 += 1; // Punto para el rival por listo

}

// CASO B: GANADOR LEGÍTIMO

else if (Estado_Juego == 1) {

Estado_Juego = 2; // BLOQUEO INMEDIATO

let Reaccion = tiempo_actual() - Tiempo_Inicio;

Puntos_P1 += 1;

mostrar_texto("WIN P1: " + Reaccion + "ms");

}

// CASO C: PERDEDOR (Llegó tarde)

else if (Estado_Juego == 2) {

No hacer nada. Aceptar la derrota.

}

}

PROTOCOLO DE DESPLIEGUE

Reto Nivel Leyenda

EL "FINISHER" DEFINITIVO

Si el marcador global llega a 5 puntos para cualquiera de los dos, el juego debe TERMINAR PARA SIEMPRE.

  • Reproducir melodía de victoria épica (Nyan Cat o similar).
  • Scroll infinito en pantalla con el nombre del GANADOR.
  • Obligar a un Reset de Hardware para volver a jugar.