Application Android (Kotlin + Jetpack Compose) de puzzles d'échecs avec rating, coach et progression par ligues, dans l'esprit de la fonctionnalité "Puzzles" de chess.com — en local, sans compte ni abonnement.
- Puzzles tactiques sélectionnés automatiquement autour du rating du joueur (façon Elo), avec plateau et pièces classiques.
- Coach : bulle de conseils contextuelle (thème du puzzle, encouragements, bravo en fin de puzzle).
- Indice (révèle la case de départ du bon coup) et Voir la solution, chacun n'affectant le rating qu'une seule fois par puzzle.
- Mode amical après une erreur : le rating est ajusté une fois, puis on peut continuer à chercher librement sans perdre de points supplémentaires.
- Système de ligues façon "Puzzle Progression" (Bois → Légende, 20 niveaux par ligue, séries, bonus quotidien, jalons, record personnel, Prestige).
- Profils multiples : chaque profil a son propre rating, sa propre ligue et son propre historique.
- Réglages : gestion des profils, sauvegarde cloud, réinitialisation de la progression.
- Sauvegarde cloud via l'API Backup native d'Android (compte Google du téléphone, pas de service tiers).
- Mode sombre automatique, suivant le thème du système.
Ce projet est sous licence AGPLv3.
- Puzzles : échantillon de ~260 000 puzzles issus de la
base de données publique de Lichess
(licence CC0), équilibré par tranche de rating et stocké dans une base
SQLite embarquée (
app/src/main/assets/puzzles.db, ~41 Mio) pour une sélection indexée sans tout charger en mémoire. - Moteur d'échecs : validation des coups et génération des coups légaux via chesslib (Apache 2.0).
- Pièces : jeu classique "cburnett" (licence GPL), converti en vector drawables Android.
data/— accès aux puzzles (SQLite) et à la progression (DataStore par profil).engine/— pilotage d'une partie de puzzle au-dessus de chesslib.progression/— moteur de gamification (ligues, niveaux, séries, Prestige), pur et testé unitairement, indépendant d'Android.profile/— gestion des profils locaux.backup/— signalement à l'API Backup d'Android.ui/— écrans Compose (Puzzles, Progression, Réglages).
./gradlew assembleDebug
./gradlew testDebugUnitTest
./gradlew installDebug