From 8d293abd2b54e2277850a7c587a03f31ce3db23b Mon Sep 17 00:00:00 2001 From: "pauline.prady" Date: Mon, 3 Jun 2024 21:59:12 +0200 Subject: [PATCH] Documentation Plateau --- Sources/CoreLibrary/Core/Plateau.cs | 57 +++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/Sources/CoreLibrary/Core/Plateau.cs b/Sources/CoreLibrary/Core/Plateau.cs index 02a38a4..4991164 100644 --- a/Sources/CoreLibrary/Core/Plateau.cs +++ b/Sources/CoreLibrary/Core/Plateau.cs @@ -5,33 +5,80 @@ using System.Security.Cryptography; namespace CoreLibrary.Core { + /// + /// Classe représentant le plateau de jeu contenant les codes et les indicateurs. + /// [DataContract] public class Plateau { + /// + /// Événement déclenché lorsqu'un code est ajouté au plateau. + /// public event EventHandler? PlateauAjouterCode; private void QuandPlateauAjouterCode() => PlateauAjouterCode?.Invoke(this, new PlateauAjouterCodeEventArgs(this)); + /// + /// Le code secret à deviner. + /// [DataMember] private readonly Code codeSecret; + + /// + /// Liste des codes ajoutés au plateau. + /// [DataMember] private readonly List codes = new List(); + + /// + /// Liste des listes d'indicateurs pour chaque code ajouté. + /// [DataMember] private readonly List> indicateurs = new List>(); + /// + /// Obtient le nombre de codes sur le plateau. + /// public int Taille => codes.Count; + + /// + /// Obtient la taille maximale de codes autorisée sur le plateau. + /// [DataMember] public int TailleMax { get; private init; } + + /// + /// Obtient la taille maximale d'un code. + /// [DataMember] public int TailleMaxCode { get; private init; } + + /// + /// Indique si le plateau à atteint sa taille maximale. + /// public bool Complet => Taille == TailleMax; + + /// + /// Indique si la victoire est atteinte. + /// [DataMember] public bool Victoire { get; private set; } = false; + + /// + /// Obtient la grille des codes et des indicateurs. + /// public (IReadOnlyList>, IReadOnlyList>) Grille => ( codes.Select(code => code.Jetons).ToList(), indicateurs ); + /// + /// Constructeur de plateau avec une taille de code et une taille de plateau spécifiées. + /// + /// La taille maximale d'un code. + /// La taille maximale du plateau. + /// Lancée si la taille du code est négative ou nulle. + /// Lancée si la taille du plateau spécifiée est négative ou nulle. public Plateau(int tailleCode, int taillePlateau) { if (tailleCode < 0) @@ -46,6 +93,10 @@ namespace CoreLibrary.Core codeSecret = GenererCodeSecret(); } + /// + /// Génère un code secret aléatoire. + /// + /// Renvoie le code secret généré. private Code GenererCodeSecret() { Code code = new Code(TailleMaxCode); @@ -61,6 +112,12 @@ namespace CoreLibrary.Core return code; } + /// + /// Ajoute un code au plateau et compare avec le code secret. + /// + /// Le code à ajouter. + /// Lancée si le code à ajouter n'est pas complet. + /// Lancée si le plateau est déjà complet. public void AjouterCode(Code code) { if (!code.Complet)