public void PlayGame() { int count = 0; while (count != 40) { Deck = new Deck(); Deck.Shuffle(); for (int i = 0; i < Players.Count; i++) { if (Players[i].Money <= 0) { WriteOutOfGameMessage(Players[i]); Players.Remove(Players[i]); i--; } } if (Players.Count == 0) { WriteGameOverMessage(); return; } foreach (Player player in Players) { player.MakeBet(); WritePlayerBet(player); } Dealer.Begin(Deck); foreach (Player player in Players) { player.Hands[0].Hit(Deck.GetCard()); player.Hands[0].Hit(Deck.GetCard()); WritePlayerCards(player); } if (Dealer.Cards[0].Number == CardNumber.Ace) { WriteDealerAce(); foreach (Player player in Players) { player.GetInsurance(Dealer); } if (Dealer.Score == 21) { foreach (Player player in Players) { player.Finish(Dealer); } count++; Dealer.Finish(); continue; } } if (DealerGetBlackjack()) { count++; continue; } foreach (Player player in Players) { player.PlayTurn(Deck); Console.WriteLine(); } Dealer.Play(Deck); WriteDealerCards(); foreach (Player player in Players) { player.Finish(Dealer); } Dealer.Cards.Clear(); Dealer.Score = 0; count++; } WriteResults(); }