public void RunGame() { for (int i = 0; i < MaxTurns; i++) { var turn = new Turn(); foreach (var player in Players) { var playerTurn = new PlayerTurn(player.previousTurn); player.AddTurn(playerTurn); turn.AddTurn(playerTurn); } foreach (var player in Players) { player.Play(); } } }
public PlayerTurn(PlayerTurn previous) { if (previous is null) { DiceCount = 6; SleepAction = new Sleep(); EatAction = new Eat(); WorkAction = new Work(EatAction, SleepAction); FreeAction = new FreeTime(); } else { DiceCount = previous.DiceCount; SleepAction = new Sleep(previous.SleepAction.BalanceAfterTurn); EatAction = new Eat(previous.EatAction.BalanceAfterTurn); WorkAction = new Work(EatAction, SleepAction); FreeAction = new FreeTime(); } }
public void AddTurn(PlayerTurn turn) { PlayerTurns.Add(turn); }
public void AddTurn(PlayerTurn turn) { Turns.Add(turn); currentTurn = turn; }