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.
79 lines
1.4 KiB
79 lines
1.4 KiB
namespace Model;
|
|
public class Player : IEquatable<Player>
|
|
{
|
|
|
|
public int Id { get; set; }
|
|
public string Pseudo
|
|
{
|
|
get => pseudo;
|
|
set
|
|
{
|
|
if (value == null)
|
|
{
|
|
pseudo = "";
|
|
return;
|
|
}
|
|
pseudo = value;
|
|
}
|
|
}
|
|
private string pseudo = "";
|
|
|
|
public Stats Stats { get; set; }
|
|
|
|
public Player(string pseudo)
|
|
{
|
|
Pseudo = pseudo;
|
|
Stats = new Stats();
|
|
}
|
|
|
|
public Player(string pseudo, int id)
|
|
{
|
|
Pseudo = pseudo;
|
|
Id = id;
|
|
Stats = new Stats();
|
|
}
|
|
|
|
public Player(string pseudo, Stats stats, int id=0)
|
|
{
|
|
Pseudo = pseudo;
|
|
Stats = stats;
|
|
Id = id;
|
|
}
|
|
|
|
public void AddWin()
|
|
{
|
|
Stats.NbWin += 1;
|
|
}
|
|
|
|
public void AddPlayed()
|
|
{
|
|
Stats.NbPlayed += 1;
|
|
}
|
|
|
|
public void AddMaxChain(int maxChain)
|
|
{
|
|
Stats.MaxChain = maxChain;
|
|
}
|
|
|
|
public void AddMaxZone(int maxZone)
|
|
{
|
|
Stats.MaxZone = maxZone;
|
|
}
|
|
|
|
public void AddMaxPoints(int maxPts)
|
|
{
|
|
Stats.MaxPoints = maxPts;
|
|
}
|
|
|
|
public bool Equals(Player? other)
|
|
=> Pseudo.ToLower().Equals(other?.Pseudo.ToLower());
|
|
|
|
//997 ou un autre chiffre, à voir
|
|
public override int GetHashCode()
|
|
=> Pseudo.GetHashCode() % 997;
|
|
|
|
public override string ToString()
|
|
=> $"{Pseudo}";
|
|
}
|
|
|