|
|
|
@ -9,7 +9,7 @@ using CoreLibrary.Core;
|
|
|
|
|
namespace CoreLibrary.Joueurs
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Classe représentant un joueur.
|
|
|
|
|
/// Représente un joueur.
|
|
|
|
|
/// </summary>
|
|
|
|
|
[DataContract]
|
|
|
|
|
[KnownType(typeof(ReglesClassiques))]
|
|
|
|
@ -17,7 +17,7 @@ namespace CoreLibrary.Joueurs
|
|
|
|
|
public class Joueur : IEstPersistant
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Événement déclenché lorsque le joueur se connecte.
|
|
|
|
|
/// Événement déclenché lorsqu'un joueur se connecte.
|
|
|
|
|
/// </summary>
|
|
|
|
|
public event EventHandler<JoueurSeConnecterEventArgs>? JoueurSeConnecter;
|
|
|
|
|
|
|
|
|
@ -53,6 +53,10 @@ namespace CoreLibrary.Joueurs
|
|
|
|
|
Nom = nom;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Connecte le joueur.
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="joueur">Le joueur à connecter.</param>
|
|
|
|
|
public void SeConnecter(Joueur joueur)
|
|
|
|
|
{
|
|
|
|
|
if (EstConnecte)
|
|
|
|
@ -61,11 +65,20 @@ namespace CoreLibrary.Joueurs
|
|
|
|
|
QuandJoueurSeConnecter(joueur);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Permet au joueur de jouer une partie.
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="partie">La partie à jouer.</param>
|
|
|
|
|
public void JouerPartie(Partie partie)
|
|
|
|
|
{
|
|
|
|
|
partie.PartieDemanderJoueurJouer += QuandDemanderJoueurJouer;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Méthode appelée lorsque la partie demande à ce joueur de jouer.
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="sender">La source de l'événement.</param>
|
|
|
|
|
/// <param name="e">Les arguments de l'événement.</param>
|
|
|
|
|
public virtual void QuandDemanderJoueurJouer(object? sender, PartieDemanderJoueurJouerEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (e.Nom != Nom)
|
|
|
|
@ -78,6 +91,12 @@ namespace CoreLibrary.Joueurs
|
|
|
|
|
/// <returns>Renvoie une chaîne de caractères du nom du joueur.</returns>
|
|
|
|
|
public override string ToString() => Nom;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Obtient la statistique spécifiée pour les règles données.
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="regles">Les règles du jeu.</param>
|
|
|
|
|
/// <param name="statistique">Le type de statistique.</param>
|
|
|
|
|
/// <returns>La valeur de la statistique.</returns>
|
|
|
|
|
public int Statistique(IRegles regles, Statistique statistique) => statistiques.GetValueOrDefault((regles, statistique),0);
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|