public void RunGame() { var player = new LeastRecentCardPlayer(); var state = new GameState(10, player); state.StartGame(); int numberOfTurns = 0; for (; ; numberOfTurns++) { if (state.GameIsLost()) { Console.WriteLine("Game is lost!"); break; } if (state.GameIsWon()) { Console.WriteLine("Game is won!"); break; } state.TakeTurn(); } Console.WriteLine("Game took {0} turns!", numberOfTurns); }
public void ShouldPlayOldestCardFromHand() { var firstCard = CardType.Red; var secondCard = CardType.Orange; var player = new LeastRecentCardPlayer(); player.Hand.Add(firstCard, secondCard); var board = new GameBoard(2); var play = player.FormulatePlay(board); Assert.AreEqual(firstCard, play.Card); player.Hand.Discard(play.Card); play = player.FormulatePlay(board); Assert.AreEqual(secondCard, play.Card); }