|
|
@ -16,16 +16,16 @@ namespace Model
|
|
|
|
public DateOnly Date { get; set; }
|
|
|
|
public DateOnly Date { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public ReadOnlyCollection<Player> Players { get; private set; }
|
|
|
|
public ReadOnlyCollection<Player> Players { get; private set; }
|
|
|
|
private List<Player> players = new();
|
|
|
|
private List<Player> players;
|
|
|
|
|
|
|
|
|
|
|
|
public ReadOnlyCollection<Turn> Turns { get; private set; }
|
|
|
|
public ReadOnlyCollection<Turn> Turns { get; private set; }
|
|
|
|
private List<Turn> turns = new();
|
|
|
|
private List<Turn> turns;
|
|
|
|
|
|
|
|
|
|
|
|
public ReadOnlyDictionary<Player, Grille> Grilles { get; private set; }
|
|
|
|
public ReadOnlyDictionary<Player, Grille> Grilles { get; private set; }
|
|
|
|
private readonly Dictionary<Player, Grille> grilles = new Dictionary<Player, Grille>();
|
|
|
|
private readonly Dictionary<Player, Grille> grilles;
|
|
|
|
|
|
|
|
|
|
|
|
public ReadOnlyDictionary<Player, int> Scores { get; private set; }
|
|
|
|
public ReadOnlyDictionary<Player, int> Scores { get; private set; }
|
|
|
|
private readonly Dictionary<Player, int> scores = new Dictionary<Player, int>();
|
|
|
|
private readonly Dictionary<Player, int> scores;
|
|
|
|
|
|
|
|
|
|
|
|
public GameMode GameMode { get; set; }
|
|
|
|
public GameMode GameMode { get; set; }
|
|
|
|
|
|
|
|
|
|
|
@ -45,6 +45,10 @@ namespace Model
|
|
|
|
public Game(DateOnly date, Player ?owner, GameMode gameMode, int id = 0)
|
|
|
|
public Game(DateOnly date, Player ?owner, GameMode gameMode, int id = 0)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
Date = date;
|
|
|
|
Date = date;
|
|
|
|
|
|
|
|
players = new();
|
|
|
|
|
|
|
|
turns = new();
|
|
|
|
|
|
|
|
grilles = new Dictionary<Player, Grille>();
|
|
|
|
|
|
|
|
scores = new Dictionary<Player, int>();
|
|
|
|
Players = new ReadOnlyCollection<Player>(players);
|
|
|
|
Players = new ReadOnlyCollection<Player>(players);
|
|
|
|
Grilles = new ReadOnlyDictionary<Player, Grille>(grilles);
|
|
|
|
Grilles = new ReadOnlyDictionary<Player, Grille>(grilles);
|
|
|
|
Scores = new ReadOnlyDictionary<Player, int>(scores);
|
|
|
|
Scores = new ReadOnlyDictionary<Player, int>(scores);
|
|
|
@ -56,6 +60,22 @@ namespace Model
|
|
|
|
Id = id;
|
|
|
|
Id = id;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public Game(int id, TimeSpan duration, DateOnly date, List<Player> players, List<Turn> turns, Dictionary<Player, Grille> grilles, Dictionary<Player, int> scores, GameMode gameMode)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
Id = id;
|
|
|
|
|
|
|
|
Duration = duration;
|
|
|
|
|
|
|
|
Date = date;
|
|
|
|
|
|
|
|
this.players = players;
|
|
|
|
|
|
|
|
Players = new ReadOnlyCollection<Player>(this.players);
|
|
|
|
|
|
|
|
this.turns = turns;
|
|
|
|
|
|
|
|
Turns = new ReadOnlyCollection<Turn>(this.turns);
|
|
|
|
|
|
|
|
this.grilles = grilles;
|
|
|
|
|
|
|
|
Grilles = new ReadOnlyDictionary<Player, Grille>(this.grilles);
|
|
|
|
|
|
|
|
this.scores = scores;
|
|
|
|
|
|
|
|
Scores = new ReadOnlyDictionary<Player, int>(this.scores);
|
|
|
|
|
|
|
|
GameMode = gameMode;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public bool AddPlayerToGame(Player player)
|
|
|
|
public bool AddPlayerToGame(Player player)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if(grilles.ContainsKey(player) == false && scores.ContainsKey(player) == false)
|
|
|
|
if(grilles.ContainsKey(player) == false && scores.ContainsKey(player) == false)
|
|
|
|