Example #1
0
 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();
         }
     }
 }
Example #2
0
 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();
     }
 }
Example #3
0
 public void AddTurn(PlayerTurn turn)
 {
     PlayerTurns.Add(turn);
 }
Example #4
0
 public void AddTurn(PlayerTurn turn)
 {
     Turns.Add(turn);
     currentTurn = turn;
 }