fix: multidispositivo - Random seguro + gestor host + reacción clientes
Some checks failed
Build & Deploy Farolero / Análisis de código (push) Has been cancelled
Build & Deploy Farolero / Build APK + AAB release (push) Has been cancelled

- Random.secure() para selección de impostores (no predecible)
- Random.secure() también en desempate de votación
- Nueva PantallaGestorHost para coordinación multi-device
- Navegación: host va a gestor tras iniciar, no a pantalla de palabra
- PantallaPalabraCliente: cada jugador ve su palabra en su móvil
- PantallaDebateCliente: debate con timer y botón solicitar votación
- PantallaVotacionCliente: voto desde el móvil del cliente
- PantallaUnirse: listener que reacciona a partidaInicio y cambia de fase
- Protocolo: listo/voto/solicitoVotacion via Nearby hacia el host
- Nuevas cadenas l10n ES
This commit is contained in:
ShanaiaBot
2026-04-15 02:09:05 +02:00
parent 302cdf6f1a
commit eb2662f561
27 changed files with 2282 additions and 60 deletions

View File

@@ -40,6 +40,7 @@
"impostors": "🎭 Impostores",
"impostorClue": "🔍 Pista para impostor",
"impostorClueDescription": "El impostor conoce la categoría",
"debate": "🗣️ Debate",
"debateTime": "⏱️ Tiempo de debate",
"noLimit": "Sin límite",
"oneMin": "1 min",
@@ -232,6 +233,11 @@
"licenses": "Licencias",
"scanToJoin": "Escanea el QR para unirte",
"connectedPlayers": "Jugadores conectados",
"hostGame": "Gestor de partida",
"waitingPlayersSeeWord": "Esperando que todos vean su palabra...",
"activePlayers": "Jugadores activos",
"playersVoted": "Han votado",
"waitingVoting": "Esperando que voten...",
"waitingForPlayers": "Esperando jugadores...",
"needMorePlayers": "Faltan {count} jugadores más",
"@needMorePlayers": {
@@ -255,5 +261,21 @@
"searchingGames": "Buscando partidas cercanas...",
"noGamesFound": "No se encontraron partidas",
"noGamesFoundHint": "Asegúrate de que el host tiene la sala abierta y estáis cerca",
"orScanQR": "¿No aparece? Escanea el QR del host"
"orScanQR": "¿No aparece? Escanea el QR del host",
"iveSeenIt": "Ya la he visto",
"clueIs": "La pista es: {category}",
"@clueIs": {
"placeholders": {
"category": {
"type": "String"
}
}
},
"debatePhaseActive": "Fase de debate activa",
"debateInstructions": "Hablad entre vosotros y decid quién creéis que es el impostor. Cuando estéis listos, solicitad la votación.",
"solicitarVotacion": "Solicitar votación",
"votacionSolicitada": "Votación solicitada",
"whoDoYouThinkIsTheImpostor": "¿Quién es el impostor?",
"selectOnePlayer": "Selecciona a un jugador para votar",
"votar": "Votar"
}