From a2ac548aa04714b7cdc8f63d236f66df577e01ae Mon Sep 17 00:00:00 2001 From: "camille.turpin-etienne" Date: Wed, 5 Jun 2024 12:22:03 +0200 Subject: [PATCH] doc de regles et plateau --- Sources/MauiSpark/Pages/PlateauPage.xaml.cs | 54 +++++++++++++++++++++ Sources/MauiSpark/Pages/ReglesPage.xaml.cs | 21 +++++++- 2 files changed, 73 insertions(+), 2 deletions(-) diff --git a/Sources/MauiSpark/Pages/PlateauPage.xaml.cs b/Sources/MauiSpark/Pages/PlateauPage.xaml.cs index 685a439..d8321f4 100644 --- a/Sources/MauiSpark/Pages/PlateauPage.xaml.cs +++ b/Sources/MauiSpark/Pages/PlateauPage.xaml.cs @@ -5,13 +5,36 @@ using CoreLibrary.Joueurs; namespace MauiSpark.Pages; +/// +/// Représente un tour de jeu, avec le plateau actuel, le joueur en cours, le numéro de tour et le code. +/// internal class Tour { + + /// + /// Obtient ou définit le plateau de jeu pour ce tour. + /// public IEnumerable<(IEnumerable, IEnumerable)> Plateau { get; private init; } + + /// + /// Obtient ou définit le nom du joueur pour ce tour. + /// public string Joueur { get; private init; } + + /// + /// Obtient ou définit le numéro de tour. + /// public string Numero { get; private init; } + + /// + /// Obtient ou définit le code pour ce tour. + /// public Code Code { get; private init; } + /// + /// Initialise un tour à partir des arguments de l'événement de nouveau tour de jeu. + /// + /// Les arguments de l'événement PartieNouveauTourEventArgs. public Tour(PartieNouveauTourEventArgs e) { Numero = $"Tour {e.Tour}"; @@ -37,11 +60,18 @@ internal class Tour } } +/// +/// Page affichant le plateau de jeu et permettant aux joueurs d'interagir avec celui-ci. +/// public partial class PlateauPage : ContentPage { private Code? code; private Plateau? plateau; + /// + /// Constructeur de la page du plateau de jeu. + /// Initialise les paramètres de navigation et les composants de la page. + /// public PlateauPage() { NavigationPage.SetHasNavigationBar(this, false); @@ -49,6 +79,12 @@ public partial class PlateauPage : ContentPage InitializeComponent(); } + /// + /// Méthode appelée lorsqu'un nouveau tour de jeu commence. + /// Affiche le nouveau tour de jeu sur le plateau. + /// + /// La source de l'événement ; dans ce cas, la partie. + /// Les arguments de l'événement PartieNouveauTourEventArgs. public async void QuandNouveauTour(object? sender, PartieNouveauTourEventArgs e) { if (Application.Current == null || Application.Current.MainPage == null) @@ -73,6 +109,12 @@ public partial class PlateauPage : ContentPage BindingContext = new Tour(e); } + /// + /// Supprime le dernier jeton ajouté au code en cours. + /// Affiche une alerte si le code est vide. + /// + /// La source de l'événement ; ici, le bouton de suppression de jeton. + /// Les arguments de l'événement EventArgs. private void SupprimerDernierJeton(Object sender, EventArgs e) { try @@ -86,6 +128,12 @@ public partial class PlateauPage : ContentPage } } + /// + /// Valide le code actuel et l'ajoute au plateau de jeu. + /// Affiche une alerte si le code est incomplet. + /// + /// La source de l'événement ; ici, le bouton de validation de code. + /// Les arguments de l'événement EventArgs. private void ValiderCode(Object sender, EventArgs e) { try @@ -99,6 +147,12 @@ public partial class PlateauPage : ContentPage } } + + /// + /// Ouvre la page des règles du jeu. + /// + /// La source de l'événement ; ici, le bouton de règles du jeu. + /// Les arguments de l'événement EventArgs. private async void QuandReglesClique(object sender, EventArgs e) { await Navigation.PushAsync(new ReglesPage()); diff --git a/Sources/MauiSpark/Pages/ReglesPage.xaml.cs b/Sources/MauiSpark/Pages/ReglesPage.xaml.cs index 5004ddc..d384aa8 100644 --- a/Sources/MauiSpark/Pages/ReglesPage.xaml.cs +++ b/Sources/MauiSpark/Pages/ReglesPage.xaml.cs @@ -1,11 +1,24 @@ namespace MauiSpark.Pages; +/// +/// Page affichant les règles du jeu. +/// internal class Regles { - public string Titre { get; init; } = ""; + /// + /// Obtient ou définit le titre des règles. + /// + public string Titre { get; init; } = ""; + + /// + /// Obtient ou définit la description des règles. + /// public string Description { get; init; } = ""; } +/// +/// Page affichant les règles du jeu. +/// public partial class ReglesPage : ContentPage { private static readonly Regles reglesClassiques = new Regles() @@ -14,7 +27,11 @@ public partial class ReglesPage : ContentPage Description = "Le but du jeu est de découvrir la combinaison. On génère aléatoirement deux combinaisons de 4 couleurs (six couleurs au total : jaune, bleu, rouge, vert, blanc et noir), une combinaison pour chaque joueur. Deux joueurs se battent pour trouver la combinaison en premier, il y a douze tours. Le premier joueur à trouver la combinaison à gagner, chaque joueur a le même nombre de coups à réaliser. Donc si le joueur un à trouvé la solution au bout de huit coups, le joueur deux doit finir son huitième coup. Si le joueur deux trouve la combinaison, les deux joueurs sont à égalité. Sinon, le joueur un gagne. Pour trouver la combinaison, les joueurs disposent de quatre indicateurs. Ces indicateurs sont quatre ronds qui représentent les quatre couleurs sélectionnées par le joueur. Un rond noir signifie qu’une couleur est à la bonne place, un rond blanc correspond à une mauvaise place et s'il n’y a pas d’indicateur aucune des couleurs n’est présentent dans la combinaison." }; - public ReglesPage() + /// + /// Constructeur de la page affichant les règles du jeu. + /// Initialise les paramètres de navigation et les composants de la page. + /// + public ReglesPage() { NavigationPage.SetHasNavigationBar(this, false);