using CoreLibrary.Core; using CoreLibrary.Events; using System.Runtime.Serialization; namespace CoreLibrary.Joueurs { /// /// Classe représentant un joueur. /// [DataContract] public class Joueur { /// /// Le nom du joueur. /// [DataMember] public string Nom { get; private init; } [DataMember] public int NbCoutTotal { get; set; } [DataMember] public int NbPartieGagnee { get; set; } [DataMember] public int NbPartieEgalite { get; set; } [DataMember] public int NbPartiePerdue { get; set; } /// /// Crée une nouvelle instance de joueur avec un nom /// Evénement appelé pour jouer un code. /// public event EventHandler? JouerCode; /// /// Appel de l'événement JouerCode. /// private void QuandJouerCode(Code code) => JouerCode?.Invoke(this, new JouerCodeEventArgs(code)); /// /// Crée une nouvelle instance de joueur avec un nom et un plateau spécifié. /// /// Le nom du joueur. public Joueur(string nom) { Nom = nom; NbCoutTotal = 0; NbPartieGagnee = 0; NbPartieEgalite = 0; NbPartiePerdue = 0; } public Joueur(string nom, int nbCoutTotal, int nbPartieGagnee, int nbPartieEgalite, int nbPartiePerdue) { Nom = nom; NbCoutTotal = nbCoutTotal; NbPartieGagnee = nbPartieGagnee; NbPartieEgalite = nbPartieEgalite; NbPartiePerdue = nbPartiePerdue; } public void Code(Code code) { QuandJouerCode(code); } public override String ToString() { return Nom; } } }