Aperçu du projet
Ce projet est une implémentation du jeu Puissance 4 en C# avec .NET MAUI et XAML. Il est jouable à deux sur la même machine (local, sans mode en ligne), avec un mode contre une IA simple (choix aléatoire). Le joueur peut choisir la variante Puissance 3, 4 ou 5, configurer un temps de tour (minimum 5s, ou illimité) et consulter des statistiques (temps moyen par tour, victoires, défaites, ratio).
Fonctionnalités principales
2 joueurs en local
Deux joueurs peuvent jouer sur la même machine (pas de mode en ligne), en alternant leurs tours.
Détection de victoire
Détection des alignements gagnants (horizontal, vertical, diagonales) selon la variante choisie.
Puissance 3 / 4 / 5
Choix de la condition de victoire : aligner 3, 4 ou 5 jetons.
Mode contre IA
Un mode solo où l'IA joue en choisissant une case au hasard (IA volontairement simple).
Timer configurable
Temps maximum pour jouer un tour : minimum 5 secondes, ou illimité.
Statistiques
Suivi des victoires, défaites, ratio et du temps moyen pour jouer un tour.
Galerie
Aucune capture d'écran disponible pour le moment.
Processus de développement
1. Conception de l'architecture
Définition des règles (gravité des jetons) et des variantes (Puissance 3/4/5), puis structuration de l'application pour séparer l'UI et la logique.
Schémas / captures à ajouter.
2. UI XAML + interactions
Création de l'interface (plateau, menus de choix) puis ajout du timer de tour, du mode IA et de la collecte de statistiques.
Schémas / captures à ajouter.
Défis rencontrés et solutions
🧮 Détection des alignements
Défi : détecter correctement les victoires (H/V/diagonales) en fonction de la variante (3/4/5). Solution : parcours systématique du plateau, contrôles de bornes et tests de cas limites.
⏱️ Gestion du temps de tour
Défi : gérer un timer paramétrable (minimum 5s, ou illimité) sans dégrader l'expérience. Solution : état de jeu clair + décompte indépendant de l'UI, et reset propre à chaque tour.
📊 Calcul des statistiques
Défi : collecter des stats fiables (temps moyen par tour, victoires/défaites, ratio). Solution : mesures par tour, agrégation et stockage côté logique plutôt que côté UI.
Ce que j'ai appris
Comprendre le cycle de vie, la navigation et la construction d'UI réutilisables.
Structurer l'application pour faire évoluer facilement la logique (IA, modes de jeu, etc.).
Mettre en place des statistiques de jeu utiles (temps moyen, ratio) et les afficher clairement.
Conclusion
Ce projet propose un Puissance 4 complet et personnalisable (variantes 3/4/5), jouable en local ou contre une IA simple, avec timer et statistiques. Une prochaine évolution naturelle serait d'améliorer l'IA ou d'ajouter d'autres options de jeu.