From 720a600da0cb11b18406931a73771037357efde3 Mon Sep 17 00:00:00 2001 From: "pauline.prady" Date: Mon, 3 Jun 2024 21:29:56 +0200 Subject: [PATCH] Documentation Code --- Sources/CoreLibrary/Core/Code.cs | 53 ++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/Sources/CoreLibrary/Core/Code.cs b/Sources/CoreLibrary/Core/Code.cs index 38e98b1..6971b89 100644 --- a/Sources/CoreLibrary/Core/Code.cs +++ b/Sources/CoreLibrary/Core/Code.cs @@ -4,17 +4,44 @@ using System.Runtime.Serialization; namespace CoreLibrary.Core { + /// + /// Classe qui représente un code composé de jetons. + /// [DataContract] public class Code { + /// + /// Collection observable de jetons. + /// [DataMember] public ObservableCollection Jetons { get; private init; } = new ObservableCollection(); + + /// + /// Obtient le nombre actuel de jetons dans le code. + /// public int Taille => Jetons.Count; + + /// + /// Taille maximale de jetons autorisée pour le code. + /// [DataMember] public int TailleMax { get; private init; } + + /// + /// Indique si le code est complet. + /// public bool Complet => Taille == TailleMax; + + /// + /// Indique si le code est vide. + /// public bool Vide => Taille == 0; + /// + /// Constructeur de code avec une taille maximale spécifiée. + /// + /// La taille maximale de jetons autorisée pour le code. + /// Exception lancée si la taille spécifiée est négative ou nulle. public Code(int taille) { if (taille < 0) @@ -23,6 +50,11 @@ namespace CoreLibrary.Core TailleMax = taille; } + /// + /// Ajoute un jeton au code. + /// + /// Le jeton à ajouter. + /// Lancée si le code est déjà complet. public void AjouterJeton(Jeton jeton) { if (Complet) @@ -31,6 +63,12 @@ namespace CoreLibrary.Core Jetons.Add(jeton); } + /// + /// Récupère le jeton à l'indice spécifié. + /// + /// L'indice du jeton à récupérer. + /// Renvoie le jeton à l'indice spécifié. + /// Lancée si l'indice est en dehors des limites de la collection de jetons. public Jeton RecupererJeton(int indice) { if (indice < 0 || indice >= Taille) @@ -39,6 +77,10 @@ namespace CoreLibrary.Core return Jetons.ElementAt(indice); } + /// + /// Supprime le dernier jeton du code. + /// + /// Lancée si le code est vide. public void SupprimerDernierJeton() { if (Vide) @@ -47,6 +89,13 @@ namespace CoreLibrary.Core Jetons.RemoveAt(Taille - 1); } + /// + /// Compare le code avec le code secret et retourne une liste d'indicateurs. + /// + /// Le code à comparer. + /// Renvoie une liste d'indicateurs représentant les résultats de la comparaison. + /// Lancée si le code n'est pas complet. + /// Lancée si le code est invalide. public IReadOnlyList Comparer(Code code) { // Je suis le bon code @@ -85,6 +134,10 @@ namespace CoreLibrary.Core return indicateurs; } + /// + /// Retourne la taille du code sous forme de chaîne de caractères. + /// + /// Renvoie une chaîne de caractères représentant la taille du code. public override string ToString() => $"Code({Taille})"; } }