From d744b07e3b056c28a6253e1cb2e0d08465a04316 Mon Sep 17 00:00:00 2001 From: Alexis DRAI Date: Wed, 21 Sep 2022 17:21:03 +0200 Subject: [PATCH] :recycle: Add FavGroup and refactor manager --- Sources/Model/Games/Game.cs | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/Sources/Model/Games/Game.cs b/Sources/Model/Games/Game.cs index 66d0233..0bcc2c8 100644 --- a/Sources/Model/Games/Game.cs +++ b/Sources/Model/Games/Game.cs @@ -1,4 +1,5 @@ -using Model.Players; +using Model.Dice; +using Model.Players; using System.Collections.Generic; using System.Linq; using System.Text; @@ -19,35 +20,35 @@ namespace Model.Games /// a readonly enumerable of all this game's turns public IEnumerable GetHistory() => turns.AsEnumerable(); - public PlayerManager PlayerManager { get; } + private readonly PlayerManager playerManager; - public Game(string name, IEnumerable turns, PlayerManager playerManager) + private readonly FavGroup favGroup; + + public Game(string name, IEnumerable turns, PlayerManager playerManager, FavGroup favGroup) { Name = name; this.turns = turns.ToList() ?? new List(); - PlayerManager = playerManager ?? new PlayerManager(); + this.playerManager = playerManager ?? new PlayerManager(); + this.favGroup = favGroup ?? new FavGroup(); } public Game(string name) - : this(name, null, null) + : this(name, null, null, null) { } public void PerformTurn() { - Player player = PlayerManager.WhoPlaysNow(IsFirstTurn); + 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... + // throw favGroup's dice and record it in a "faces" var Turn turn = Turn.CreateWithDefaultTime(new Player(player)/*, faces*/); //using a copy so that next line doesn't "change history" - PlayerManager.PrepareNextPlayer(player); + playerManager.PrepareNextPlayer(player); turns.Add(turn); } - - - // TODO test and debug public override string ToString() { @@ -56,8 +57,8 @@ namespace Model.Games "{1} are playing. {2} is next.\n" + "Log:\n", Name, - PlayerManager.GetAll().ToString(), - PlayerManager.WhoPlaysNow(IsFirstTurn)); + playerManager.GetAll().ToString(), + playerManager.WhoPlaysNow(IsFirstTurn)); foreach (Turn turn in this.turns) {