African Tarot game developed in Flutter with multi-level AI.
This project was developed as part of the Mobile Development course for the Master 1 in System and Software Engineering (ISL) at the University of Franche-Comté in Besançon (academic year 2025-2026, semester 1).
-
Project grade: 19.5/20 (97.5%)
-
Class average: 13.28/20 (66.4%)
- Cross-platform mobile development: Mastering Flutter to create an application running on Android, iOS, Web, Windows, Linux, and macOS
- Software architecture: Using patterns (Provider for state management, Strategy pattern for different AI levels)
- Testing and code quality: Unit tests with code coverage tracked on Codecov
- CI/CD: Continuous integration with GitHub Actions (automated tests, multi-platform builds)
- Automated deployment: Production deployment pipeline with webhook
- 🎮 Complete African Tarot game: 5 game rounds with decreasing cards (5→1)
- 🤖 3 AI levels: Easy, Hard, Expert with distinct strategies
- 👥 3-4 players: 1 human + 2-3 AI
- 🎯 Bidding system: With forbidden sum constraint
- 🏆 Lives system: Configurable from 1 to 13 lives (King)
- 🌓 Light/Dark theme: Toggle with persistence
- 🔊 Sound effects: Card sounds and audio feedback
- 📊 Score board: Real-time tracking
- Flutter: Cross-platform UI framework
- Provider: State management
- SharedPreferences: Local persistence
- AudioPlayers: Audio management
- Flutter SDK
- Dart
# Clone the repository
git clone https://github.com/R-Gld/projet_UE_dev_mobile_tarot_africain.git
cd projet_UE_dev_mobile_tarot_africain
# Install dependencies
flutter pub get
# Run the application
flutter run
# Run on a specific platform
flutter run -d windows # Windows
flutter run -d linux # Linux
flutter run -d macos # macOS
flutter run -d chrome # Web
flutter run -d android # Android
flutter run -d ios # iOS- 📱 Android: Native mobile application
- 🍎 iOS: Native mobile application
- 🖥️ macOS: Native desktop application
- 🪟 Windows: Native desktop application
- 🐧 Linux: Native desktop application
- 🌐 Web: Web application accessible via browser
# Build for a specific platform
flutter build windows
flutter build linux
flutter build macos
flutter build web
flutter build apk # Android
flutter build ios# Run all tests
flutter test
# Tests with coverage
flutter test --coverageThe detailed code coverage report is available on Codecov.
To view the report locally:
# Generate HTML report
genhtml coverage/lcov.info -o coverage/html
open coverage/html/index.htmllib/
├── constants/ # Game constants
├── models/ # Data models
│ ├── card.dart
│ ├── player.dart
│ ├── game_state.dart
│ └── strategy/ # AI strategies
├── screens/ # Main screens
├── widgets/ # Reusable widgets
├── services/ # Services (sound, theme)
└── themes/ # App themes
Developed by R-Gld
GPL-3.0 License
This project is licensed under the GNU General Public License v3.0. Any modification or distribution of this project must be shared under the same license.