You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

22 lines
4.1 KiB

# Experiencia en las partidas
El tablero de la oca conserva la imagen original del usuario en `static/boards/oca-spiral.png`. El encuadre se ajusta al recorrido y una máscara muestra solo las casillas: oculta las flores exteriores y elimina sus márgenes, manteniendo intactas las ilustraciones y los números. Las posiciones de cada casilla, incluido el jardín central 63, están en `shared/oca-board.mjs` y se incluyen en la definición del juego. Se superponen las fichas y las zonas de consulta; la ampliación recorta visualmente una zona del mismo activo, sin duplicar imágenes.
La casilla se consulta con el ratón, el teclado o un toque. El aviso distingue peligros, ventajas y casillas normales. Los efectos descritos corresponden a la variante que aplica el servidor: posada de un turno, pozo de tres, cárcel de dos, retorno desde la calavera y llegada exacta al jardín. Parchís comparte el componente de consulta para salidas, seguros, recorrido y pasillos.
La tirada de la oca se guarda en el servidor al lanzar. Su animación espera a cerrar el resultado del dado propio; entonces visita cada casilla del recorrido con un salto. Las tiradas rivales esperan a la presentación del dado y se encolan si hay una animación pendiente. Se respeta la preferencia de movimiento reducido.
En la sala de espera de la oca y del parchís actual, los colores elegidos quedan reservados mediante la actualización atómica de la sala. El último jugador recibe el restante automáticamente. El parchís relaciona cada color con su casa, salida y pasillo. Los cuatro colores habituales están disponibles; negro, naranja, violeta y gris están preparados para definiciones que admitan más de cuatro jugadores. Los juegos actuales conservan sus límites de participantes.
El chat cerrado muestra un aviso temporal y mantiene un indicador de mensajes no leídos. Abrir la pestaña Chat marca los mensajes como leídos. Las partidas pendientes propias se consultan en la pestaña Partidas del panel y en el perfil; ambas listas reaccionan a cambios de salas y ofrecen enlaces para retomarlas.
El avatar se cambia desde el perfil, también como invitado. Se puede elegir uno de ocho dibujos SVG locales, recuperar las iniciales o subir PNG, JPG y WebP de hasta 8 MB. El navegador recorta al centro y convierte la imagen a PNG de 128 × 128. El servidor valida el formato, las dimensiones y el tamaño, almacena la imagen en el usuario y sirve solo su referencia en los datos públicos. El cambio se difunde a las salas sin alterar la versión de la jugada. Se conserva al convertir el invitado en una cuenta registrada.
La dirección visual y la escala tipográfica se describen en `docs/design-direction.md`; el proceso del logotipo transparente y su prompt, en `docs/logo-transparency.md`.
El botón «Salir de la partida» permite dejar una sala de espera (libera la plaza) o cancelarla como anfitrión. Durante el juego, abandonar guarda una derrota y retira las fichas; si quedan varios jugadores, se saltan los turnos del jugador retirado. Si solo queda uno, gana por rendición. Las retiradas desaparecen de pendientes y se consultan en el historial, aunque los demás sigan jugando.
Después de 10 minutos sin jugadas, quien espera a otro jugador puede cerrar la partida por inactividad. El recuento de Go permite hacerlo a quien ya haya aceptado la puntuación y espere la aceptación rival. El servidor comprueba el plazo, la participación y la versión bajo el bloqueo de la sala; un movimiento concurrente impide cerrar una posición antigua. El chat y los cambios de avatar no reinician el plazo. Un cierre por inactividad o la cancelación de una sala se muestran como «Sin resultado» y no se suman a las estadísticas de victorias, derrotas ni empates.
El servicio revisa cada minuto todas las salas, incluidas las privadas, y cierra las que llevan 24 horas sin actividad de juego o preparación. También las revisa al arrancar, por lo que la limpieza se recupera tras reiniciar. Los registros se conservan en el historial. En PostgreSQL debe aplicarse la migración `003_system_events.sql` antes del despliegue para admitir eventos automáticos sin actor humano.

Powered by TurnKey Linux.