# La Resistencia - Estado del Proyecto ## 🎮 Estado Actual: FUNCIONAL (Parcial) ### ✅ Funcionalidades Implementadas #### Backend (100% Completo) - ✅ Sistema de salas y jugadores - ✅ Asignación de roles (Resistencia/Espías) - ✅ Fases del juego: LOBBY, INTRO, REVEAL_ROLE, ROLL_CALL, VOTE_LEADER, TEAM_BUILDING, VOTE_TEAM, MISSION - ✅ **Nuevas fases**: MISSION_REVEAL, MISSION_RESULT (lógica completa) - ✅ Votación de líder con sistema de aprobación/rechazo - ✅ Selección y votación de equipos - ✅ Votación de misiones (éxito/sabotaje) - ✅ **Barajado aleatorio de votos de misión** - ✅ **Histórico de misiones** (MissionRecord) - ✅ Reglas correctas de éxito/fracaso (misión 4 con 7+ jugadores requiere 2 fallos) - ✅ Sistema de victoria (3 misiones exitosas o 3 fallidas) - ✅ Fase de asesinato (ASSASSIN_PHASE) #### Frontend (Funcional hasta Victoria) - ✅ Lobby con creación/unión de partidas - ✅ Intro con música y animaciones (título: "Traidores en París") - ✅ Revelación de roles con cartas - ✅ Roll call con avatares - ✅ Votación de líder con timer de 10 segundos (esquina superior izquierda) - ✅ Selección de equipo por el líder - ✅ Votación de equipo con cartas cuadradas (aceptar/rechazar) - ✅ Votación de misión (éxito/sabotaje solo para espías) - ✅ **Fase MISSION_REVEAL**: Animación de cartas de votación revelándose - ✅ **Fase MISSION_RESULT**: Pantalla resumen con mapa táctico y tokens de victoria/fracaso - ✅ **Histórico de Misiones**: Círculos clicables en esquina superior derecha - ✅ **Mapa táctico**: Tablero con tokens de misiones y marcadores de resultado - ✅ Pantallas de victoria (Aliados/Nazis) - ✅ Fase de asesinato (ASSASSIN_PHASE) ### 🎨 Mejoras de UI Recientes (2025-12-13) - ✅ Timer de votación reposicionado (esquina superior izquierda, fixed, 20px margen) - ✅ Cartas de votación de líder redimensionadas (cuadradas 32x32) - ✅ Eliminado contador de votos rechazados en resultado de misión - ✅ Mapa táctico permanece visible durante toda la fase MISSION_RESULT - ✅ Tokens de victoria/fracaso posicionados en el mapa (ajuste fino pendiente para tokens 3, 4, 5) ### ⚠️ Pendiente de Ajustar 1. **Posiciones de tokens en mapa**: Afinar ubicación de tokens de misiones 3, 4 y 5 en el tablero táctico ## 🚀 Cómo Ejecutar ```bash # Iniciar todos los servicios docker compose up -d # Ver logs docker compose logs -f # Detener servicios docker compose down ``` ## 🌐 URLs - **Cliente**: http://localhost:3000 - **Servidor**: http://localhost:4000 - **Base de Datos**: localhost:5432 ## 📝 Git ### Ramas - `master`: Estado inicial con errores - `fix-gameboard`: Estado actual funcional ✅ ### Commits Importantes 1. `8d423ac` - Estado inicial con errores de sintaxis 2. `44d7418` - GameBoard limpio y funcional 3. `5bb1b17` - VotingTimer agregado correctamente ## 🐛 Problemas Conocidos 1. **CPU Alta en Servidor**: El servidor puede consumir mucha CPU. Si ocurre, reiniciar con `docker compose restart server` 2. **Posiciones de tokens en mapa**: Los tokens de misiones 3, 4 y 5 necesitan ajuste fino en sus coordenadas ## 📋 Próximos Pasos 1. Afinar posiciones de tokens de misiones 3, 4 y 5 en el mapa táctico 2. Optimizar rendimiento del servidor 3. Testing exhaustivo de todas las fases del juego 4. Ajustes finales de UX/UI según feedback de jugadores ## 🎯 Reglas del Juego Implementadas - Votación de líder: mayoría simple aprueba - 5 rechazos consecutivos: victoria de espías - Misiones: 1 fallo = fracaso (excepto misión 4 con 7+ jugadores que requiere 2 fallos) - 3 misiones exitosas: victoria de resistencia (con fase de asesinato) - 3 misiones fallidas: victoria de espías ## 🔧 Tecnologías - **Frontend**: Next.js 14, React, TypeScript, Framer Motion, TailwindCSS - **Backend**: Node.js, Express, Socket.IO, TypeScript - **Base de Datos**: PostgreSQL 15 - **Containerización**: Docker, Docker Compose