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)