diff --git a/Sources/CoreLibrary/Joueurs/Joueur.cs b/Sources/CoreLibrary/Joueurs/Joueur.cs index 2956f4d..a7f0979 100644 --- a/Sources/CoreLibrary/Joueurs/Joueur.cs +++ b/Sources/CoreLibrary/Joueurs/Joueur.cs @@ -7,30 +7,59 @@ using System.Runtime.Serialization; namespace CoreLibrary.Joueurs { + /// + /// Classe représentant un joueur. + /// [DataContract] [KnownType(typeof(ReglesClassiques))] public class Joueur : IEstPersistant { + /// + /// Événement déclenché lorsque le joueur se connecte. + /// public event EventHandler? JoueurSeConnecter; private void QuandJoueurSeConnecter() => JoueurSeConnecter?.Invoke(this, new JoueurSeConnecterEventArgs(Nom)); + /// + /// Dictionnaire des statistiques du joueur avec les règles et les statistiques. + /// [DataMember] private Dictionary<(IRegles, Statistique), int> statistiques = new Dictionary<(IRegles, Statistique), int>(); + /// + /// Obtient le nom du joueur. + /// [DataMember] public string Nom { get; private set; } = ""; + + /// + /// Indique si le joueur est connecté. + /// public bool EstConnecte { get; private set; } = false; + /// + /// Constructeur de joueur. + /// public Joueur() { } + /// + /// Constructeur de joueur avec le nom spécifié. + /// + /// Le nom du joueur. public Joueur(string nom) { Nom = nom; } + /// + /// Connecte le joueur actuel avec les informations d'un autre joueur. + /// + /// Le joueur à partir duquel copier les informations. + /// Renvoie le joueur actuel connecté. + /// Lancée si le joueur est déjà connecté. public Joueur SeConnecter(Joueur joueur) { if (EstConnecte) @@ -45,11 +74,26 @@ namespace CoreLibrary.Joueurs return this; } + /// + /// Retourne une représentation sous forme de chaîne de caractères. + /// + /// Renvoie une chaîne de caractères du nom du joueur. public override string ToString() => Nom; + /// + /// Obtient la valeur de la statistique spécifiée pour les règles données. + /// + /// Les règles du jeu. + /// Le type de statistique. + /// Renvoie la valeur de la statistique. public int Statistique(IRegles regles, Statistique statistique) => statistiques.GetValueOrDefault((regles, statistique), 0); + /// + /// Incrémente la valeur de la statistique spécifiée pour les règles données. + /// + /// Les règles du jeu. + /// Le type de statistique. public void IncrementerStatistique(IRegles regles, Statistique statistique) => statistiques[(regles, statistique)] = Statistique(regles, statistique) + 1; }