import { gameSounds } from './sounds.mjs'; import { ocaBoard } from './oca-board.mjs'; import { gameAnimations } from './animations.mjs'; export const catalog = [ { id: 'ajedrez', name: 'Ajedrez', subtitle: 'Cada movimiento cuenta.', category: 'Estrategia', variant: 'Clásico · sin reloj', minPlayers: 2, maxPlayers: 2, duration: '15–40 min', difficulty: 'Estratégico', color: 'sage', icon: 'chess', version: '1.0.0', rules: [ 'Las blancas empiezan. Selecciona una pieza y su destino; los movimientos legales se resaltan.', 'Incluye enroque, captura al paso y elección de promoción.', 'La partida termina por jaque mate, rendición o tablas. En esta versión, repetición triple y 50 movimientos producen tablas automáticas.', 'Esta primera modalidad no tiene reloj. Puedes volver a la partida tras desconectarte.', ], }, { id: 'damas', name: 'Damas', subtitle: 'Una captura cambia todo.', category: 'Estrategia', variant: 'Damas de recorrido largo · tablero 8 × 8', minPlayers: 2, maxPlayers: 2, duration: '10–25 min', difficulty: 'Accesible', color: 'sand', icon: 'checkers', version: '2.0.0', rules: [ '12 fichas por jugador sobre las casillas oscuras.', 'Las fichas normales avanzan y capturan hacia delante. Capturar es obligatorio; debes completar los saltos encadenados.', 'Al coronar termina el turno. Una dama recorre cualquier número de casillas libres en diagonal, hacia delante o atrás. Puede capturar una pieza a distancia y elegir una casilla libre más allá; no puede saltar otras piezas.', 'Gana quien deja al rival sin fichas o movimientos. Se declaran tablas tras 40 turnos por jugador sin captura ni coronación.', ], }, { id: 'parchis', name: 'Parchís', subtitle: 'La suerte también se juega.', category: 'Familia', variant: 'Individual · un dado · 4 fichas por jugador', minPlayers: 2, maxPlayers: 4, duration: '20–45 min', difficulty: 'Familiar', color: 'lilac', icon: 'dice', version: '2.0.0', rules: [ 'Todas las fichas empiezan en casa. Sale una con 5; si la salida es posible, es obligatoria. Cada jugador controla un color.', 'Un 6 permite repetir. Cuenta 7 cuando no quedan fichas en casa. El tercer 6 termina el turno y devuelve la última ficha movida a casa, salvo que esté en el pasillo final o en meta.', 'Dos fichas del mismo color forman una barrera que nadie puede atravesar. Al sacar 6 debes abrir una barrera si tienes un movimiento para hacerlo.', 'Los 16 seguros admiten dos fichas, incluso de colores distintos. Salir con 5 a una salida completa captura al último rival que llegó.', 'Capturar concede 20 pasos; llegar a meta, 10. El premio se mueve con una ficha y debe gastarse completo. Si no es posible, se descarta automáticamente.', 'Entra en meta con el número exacto. Gana quien lleva sus cuatro fichas. Tras mover o cuando no puedas hacerlo, el turno avanza automáticamente; un 6 conserva la repetición.', ], }, { id: 'go', name: 'Go', subtitle: 'Construye territorio, piedra a piedra.', category: 'Estrategia', variant: 'Área · tablero 9 × 9 · komi 6,5', minPlayers: 2, maxPlayers: 2, duration: '15–35 min', difficulty: 'Estratégico', color: 'sand', icon: 'go', version: '1.0.0', rules: [ 'Las negras comienzan. Coloca una piedra en una intersección vacía. Los grupos sin libertades se capturan; no se permite suicidio ni repetir una posición anterior (superko).', 'Dos pases seguidos abren el recuento. Marcad los grupos muertos y aceptad ambos la propuesta, o reanudad la partida si hay desacuerdo.', 'Se cuentan piedras vivas y territorio rodeado por un único color. Las blancas reciben 6,5 puntos de compensación. Sin reloj ni hándicap.', ], }, { id: 'oca', name: 'La Oca', subtitle: 'De oca a oca… y a por la revancha.', category: 'Familia', variant: 'Un dado · 63 casillas · pozo de tres turnos', minPlayers: 2, maxPlayers: 4, duration: '10–25 min', difficulty: 'Familiar', color: 'sage', icon: 'goose', version: '1.0.0', rules: [ 'Cada jugador tiene una ficha. El dado y el movimiento se resuelven en el servidor; los turnos y descansos avanzan automáticamente.', 'Una oca te lleva a la siguiente y repites. Desde la última oca (59) conservas la casilla y repites; la meta exige una tirada exacta. Los puentes 6 y 12 se conectan; los dados 26 y 53 también.', 'Posada 19: descansa un turno. Pozo 31: tres turnos. Laberinto 42: vuelve a 30. Cárcel 52: dos turnos. Calavera 58: vuelve al inicio.', 'Gana quien llega exactamente a 63. Si te pasas, rebota hacia atrás. Esta modalidad usa un dado y una espera fija en el pozo.', ], }, ].map((definition) => ({ ...definition, sounds: gameSounds[definition.id], animations: gameAnimations[definition.id], ...(definition.id === 'oca' ? { board: ocaBoard } : {}), }));