export interface GameRules { subtitle: string; // One-liner shown in home cards duration: string; // Estimated time "≈ X min" howToPlay: string[]; // 3-5 rules tip?: string; // Optional pro tip } export const GAME_RULES: Record = { queens: { subtitle: "1 couronne par ligne, colonne et zone", duration: "≈ 3 min", howToPlay: [ "Place une seule couronne par ligne.", "Place une seule couronne par colonne.", "Place une seule couronne par zone colorée.", "Les couronnes ne peuvent pas se toucher, même en diagonale.", ], tip: "Commence par la zone la plus contrainte.", }, tango: { subtitle: "Équilibre soleils ☀ et lunes ◐ sur la grille", duration: "≈ 2 min", howToPlay: [ "Chaque ligne et colonne doit avoir autant de soleils que de lunes.", "Pas plus de 2 symboles identiques consécutifs dans une ligne ou colonne.", "Les contraintes = (même symbole) et × (symboles différents) doivent être respectées.", ], tip: "Repère les contraintes × en premier — elles forcent des valeurs.", }, zip: { subtitle: "Relie les chiffres dans l'ordre en couvrant tout", duration: "≈ 2 min", howToPlay: [ "Trace un chemin continu de 1 jusqu'au dernier chiffre.", "Le chemin doit passer par toutes les cellules de la grille.", "Le chemin ne peut pas se croiser.", ], tip: "Repère les coins et impasses pour contraindre le tracé.", }, sudoku: { subtitle: "Chiffres 1–6 dans chaque ligne, colonne et bloc", duration: "≈ 4 min", howToPlay: [ "Place les chiffres 1 à 6 dans chaque ligne.", "Place les chiffres 1 à 6 dans chaque colonne.", "Place les chiffres 1 à 6 dans chaque bloc 2×3.", "Chaque chiffre n'apparaît qu'une seule fois par groupe.", ], tip: "Commence par les lignes ou colonnes déjà les plus remplies.", }, patches: { subtitle: "Remplis chaque zone avec les bonnes pièces", duration: "≈ 3 min", howToPlay: [ "Chaque zone colorée doit être remplie entièrement.", "Les pièces disponibles correspondent exactement aux zones.", "Les pièces peuvent être tournées.", ], tip: "Commence par les zones les plus petites et les plus contraintes.", }, };