protected GameManager(DominoList dominos, params Player[] players) { _playerList.Clear(); _playerList.AddPlayers(players); PublicTrain = new PublicTrain(); _dominoList = dominos; }
/// <summary> /// Loop over the players and play each. /// One iteration is a complete turn. /// </summary> public void TakeTurn() { Console.Clear(); Console.WriteLine("\nPublic train: " + PublicTrain.ToString()); foreach (Player player in _playerList.Where(s => !s.Lost)) { Console.WriteLine("\nPlayer: " + player.Name); Console.WriteLine("Private train: " + player.IsTrainPrivate); Console.WriteLine("Dominoes: " + player.ToString()); Console.WriteLine("Train: " + player.PrintTrain()); try { if (!player.Won) { player.Play(); } else { throw new PlayerWonException(player); } } catch (PlayerLostException p) { // This player can no longer be played. p.Player.Lost = true; } } Console.WriteLine("------------------------------------------"); Console.WriteLine("\nPublic train: " + PublicTrain.ToString()); foreach (Player player in _playerList.Where(s => !s.Lost)) { Console.WriteLine("\nPlayer: " + player.Name); Console.WriteLine("Private train: " + player.IsTrainPrivate); Console.WriteLine("Dominoes: " + player.ToString()); Console.WriteLine("Train: " + player.PrintTrain()); } Console.WriteLine("\n\nEnter to continue..."); while (Console.ReadKey().Key != ConsoleKey.Enter) { ; } }