Add missing providers (locale, theme, genFilter, caughtCount), all 6 pages, full widget inventory, core/l10n layers, and game mechanics (hints, skips, shiny, bonuses, bilingual input, gen filter). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2.1 KiB
2.1 KiB
Pokeguess
Description
Pokeguess is a Flutter mobile application that allows users to discover and collect Pokémon through a silhouette guessing game. The app fetches data from the Tyradex API and stores it locally for offline access.
Features
- National Pokédex: Browse all 1025 Pokémon from generations I to IX.
- Guess Game: Identify Pokémon by their silhouette.
- Scoring System: Earn 10 pts per correct guess, 20 pts for Shiny Pokémon (1 in 10 chance). High scores are saved locally.
- Lives, Hints & Skips: Start each game with 3 lives, 3 hints, and 3 skips. Earn bonuses every 5 correct guesses (hint) and every 10 correct guesses (skip).
- Generation Filter: Restrict the game to one or more generations (I–IX). Selection persists across sessions.
- Bilingual Input: Pokémon names are accepted in French or English regardless of the UI language.
- Collection: Track caught and seen Pokémon across your Pokédex.
- Search and Filter: Filter the collection by all / caught status and search by name.
- Pokémon Detail: View base stats, types, genus, and toggle between normal and shiny sprites.
- Theming: Choose from 5 color palettes (red, blue, green, yellow, purple).
- Localization: Full French and English UI support, switchable at any time.
- Statistics: Global view of caught count, seen count, completion percentage, and best score.
Installation
- Ensure Flutter SDK is installed.
- Clone the repository.
- Run
flutter pub getto install dependencies. - Run
flutter runto start the application.
Technologies
- Flutter: UI Framework.
- Riverpod: State management (providers + notifiers).
- SQLite (sqflite): Local database for offline-first Pokémon storage.
- Tyradex API: Primary Pokémon data source (FR/EN names, sprites, types, stats).
- PokéAPI: Secondary source for English genus data.
- Shared Preferences: Persistence for best score, generation filter, language, and palette.
- Google Fonts: Custom typography (VT323).
- flutter_localizations / intl: FR and EN localization.