Skip to content
This repository was archived by the owner on Feb 5, 2026. It is now read-only.

R-Gld/projet_UE_dev_mobile_tarot_africain

Repository files navigation

African Tarot

Flutter CI Flutter Tests codecov License: GPL v3

African Tarot game developed in Flutter with multi-level AI.

🎮 Play Online

About the Project

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

Grade Achieved

  • Project grade: 19.5/20 (97.5%)

  • Class average: 13.28/20 (66.4%)

Educational Objectives

  • 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

Features

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

Technologies

  • Flutter: Cross-platform UI framework
  • Provider: State management
  • SharedPreferences: Local persistence
  • AudioPlayers: Audio management

Installation

Prerequisites

  • Flutter SDK
  • Dart

Installation

# 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

Supported Platforms

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

Tests

# Run all tests
flutter test

# Tests with coverage
flutter test --coverage

The 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.html

Architecture

lib/
├── 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

Author

Developed by R-Gld

License

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.

About

Jeu de Tarot Africain cross-platform développé en Flutter avec IA multi-niveaux (Easy/Hard/Expert).

Topics

Resources

Stars

Watchers

Forks

Contributors