You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mastermind/Sources/CoreLibrary/Joueurs/Joueur.cs

60 lines
1.8 KiB

using CoreLibrary.Core;
using CoreLibrary.Events;
namespace CoreLibrary.Joueurs
{
/// <summary>
/// Classe représentant un joueur.
/// </summary>
public class Joueur
{
/// <summary>
/// Le nom du joueur.
/// </summary>
public string Nom { get; private init; }
public int NbCoutTotal { get; set; }
public int NbPartieGagnee { get; set; }
public int NbPartieEgalite { get; set; }
public int NbPartiePerdue { get; set; }
/// <summary>
/// Crée une nouvelle instance de joueur avec un nom
/// Evénement appelé pour jouer un code.
/// </summary>
public event EventHandler<JouerCodeEventArgs>? JouerCode;
/// <summary>
/// Appel de l'événement JouerCode.
/// </summary>
private void QuandJouerCode(Code code) => JouerCode?.Invoke(this, new JouerCodeEventArgs(code));
/// <summary>
/// Crée une nouvelle instance de joueur avec un nom et un plateau spécifié.
/// </summary>
/// <param name="nom">Le nom du joueur.</param>
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);
}
}
}