Skip to content
PhilippeViennePublic

About

Application Android de puzzles d'échecs avec ligues, profils et sauvegarde cloud (Kotlin + Jetpack Compose)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Chess Puzzles

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.

Fonctionnalités

  • 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.

Licence

Ce projet est sous licence AGPLv3.

Données et ressources tierces

  • 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.

Architecture

  • 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).

Build

./gradlew assembleDebug

Tests unitaires

./gradlew testDebugUnitTest

Installer sur un téléphone connecté en debug (Wi-Fi ou USB)

./gradlew installDebug

About

Application Android de puzzles d'échecs avec ligues, profils et sauvegarde cloud (Kotlin + Jetpack Compose)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages