diff --git a/Sources/Model/Game.cs b/Sources/Model/Game.cs deleted file mode 100644 index 2f0ca4c..0000000 --- a/Sources/Model/Game.cs +++ /dev/null @@ -1,72 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Model -{ - public class Game - { - public string Name { get; private set; } - - public bool IsFirstTurn { get; private set; } = false; - - private readonly List turns; - - /// - /// get a READ ONLY enumerable of all turns belonging to this game - /// - /// a readonly enumerable of all this game's turns - public IEnumerable GetHistory() => turns.AsEnumerable(); - - public PlayerManager PlayerManager { get; } - - public Game(string name, IEnumerable turns, PlayerManager playerManager) - { - Name = name; - this.turns = turns.ToList() ?? new List(); - PlayerManager = playerManager ?? new PlayerManager(); - } - - public Game(string name) - : this(name, null, null) - { } - - public void PerformTurn() - { - Player player = PlayerManager.WhoPlaysNow(IsFirstTurn); - if (IsFirstTurn) { IsFirstTurn = false; } // only true one time (on the first turn...) - - - // in a "faces" var, throw all the dice and stuff... - - Turn turn = Turn.CreateWithDefaultTime(new Player(player)/*, faces*/); //using a copy so that next line doesn't "change history" - PlayerManager.PrepareNextPlayer(player); - turns.Add(turn); - } - - - - - // TODO test and debug - public override string ToString() - { - StringBuilder sb = new(); - sb.AppendFormat("Game: {0}===========\n" + - "{1} are playing. {2} is next.\n" + - "Log:\n", - Name, - PlayerManager.GetAll().ToString(), - PlayerManager.WhoPlaysNow(IsFirstTurn)); - - foreach (Turn turn in this.turns) - { - sb.Append("\t" + turn.ToString()); - } - - return sb.ToString(); - } - } -} diff --git a/Sources/Model/Games/Game.cs b/Sources/Model/Games/Game.cs index cb339df..66d0233 100644 --- a/Sources/Model/Games/Game.cs +++ b/Sources/Model/Games/Game.cs @@ -1,8 +1,7 @@ -using System; +using Model.Players; using System.Collections.Generic; using System.Linq; using System.Text; -using System.Threading.Tasks; namespace Model.Games { @@ -10,11 +9,62 @@ namespace Model.Games { public string Name { get; private set; } - private readonly IEnumerable turns = new List(); + public bool IsFirstTurn { get; private set; } = false; - public Game(string name) + private readonly List turns; + + /// + /// get a READ ONLY enumerable of all turns belonging to this game + /// + /// a readonly enumerable of all this game's turns + public IEnumerable GetHistory() => turns.AsEnumerable(); + + public PlayerManager PlayerManager { get; } + + public Game(string name, IEnumerable turns, PlayerManager playerManager) { Name = name; + this.turns = turns.ToList() ?? new List(); + PlayerManager = playerManager ?? new PlayerManager(); + } + + public Game(string name) + : this(name, null, null) + { } + + public void PerformTurn() + { + Player player = PlayerManager.WhoPlaysNow(IsFirstTurn); + if (IsFirstTurn) { IsFirstTurn = false; } // only true one time (on the first turn...) + + + // in a "faces" var, throw all the dice and stuff... + + Turn turn = Turn.CreateWithDefaultTime(new Player(player)/*, faces*/); //using a copy so that next line doesn't "change history" + PlayerManager.PrepareNextPlayer(player); + turns.Add(turn); + } + + + + + // TODO test and debug + public override string ToString() + { + StringBuilder sb = new(); + sb.AppendFormat("Game: {0}===========\n" + + "{1} are playing. {2} is next.\n" + + "Log:\n", + Name, + PlayerManager.GetAll().ToString(), + PlayerManager.WhoPlaysNow(IsFirstTurn)); + + foreach (Turn turn in this.turns) + { + sb.Append("\t" + turn.ToString()); + } + + return sb.ToString(); } } }