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>
44 lines
2.1 KiB
Markdown
44 lines
2.1 KiB
Markdown
# 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
|
||
|
||
1. Ensure Flutter SDK is installed.
|
||
2. Clone the repository.
|
||
3. Run `flutter pub get` to install dependencies.
|
||
4. Run `flutter run` to 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.
|