/// Constantes globales de l'application, centralisées pour éviter les valeurs en dur. class AppConstants { AppConstants._(); /// Nombre total de Pokémon gérés (jusqu'à la Gen 9). static const int totalPokemon = 1025; /// Points gagnés pour une bonne réponse normale. static const int pointsNormal = 10; /// Points gagnés pour une bonne réponse sur un Pokémon shiny. static const int pointsShiny = 20; /// Nombre de vies au début d'une partie. static const int startingLives = 3; /// Nombre de skips au début d'une partie. static const int startingSkips = 3; /// Nombre d'indices au début d'une partie. static const int startingHints = 3; /// Une bonne réponse tous les N donne un indice bonus. static const int hintBonusEvery = 5; /// Une bonne réponse tous les N donne un skip bonus. static const int skipBonusEvery = 10; /// Probabilité d'apparition d'un shiny : 1 chance sur N. static const int shinyOdds = 10; /// Hôte de l'API Tyradex. static const String apiBaseUrl = 'tyradex.app'; /// Chemin de l'endpoint Pokémon. static const String apiPokemonPath = 'api/v1/pokemon'; /// Clé SharedPreferences pour le meilleur score. static const String prefsBestScore = 'best_score'; /// Clé SharedPreferences pour le filtre de générations. static const String prefsGenFilter = 'gen_filter'; /// Plages d'IDs Pokémon par génération [min, max] (inclusif). static const List<(int, int)> genRanges = [ (1, 151), // Gen 1 (152, 251), // Gen 2 (252, 386), // Gen 3 (387, 493), // Gen 4 (494, 649), // Gen 5 (650, 721), // Gen 6 (722, 809), // Gen 7 (810, 905), // Gen 8 (906, 1025), // Gen 9 ]; }