public void DealerLoop() { int NewCard; Console.WriteLine("----------------"); Console.WriteLine("Dealers turn"); Console.WriteLine("----------------"); int PlayerStatusCount = 0; foreach (Player player in ListOfPlayers) { if (player.PlayStatusProp == true) { PlayerStatusCount++; Console.WriteLine($"Player #{player.ShowID}s hand: {player.CountCards()}"); } } if (PlayerStatusCount != 0) { do { Console.WriteLine("This is your hand: "); dealer.ShowHand(); Console.WriteLine("1. Add card to hand"); Console.WriteLine("2. End your turn"); int playerinput = int.Parse(Console.ReadLine()); if (playerinput == 1) { NewCard = deck.ChooseCard(); dealer.ReceiveCard(NewCard); } else if (playerinput == 2) { foreach (Player player in ListOfPlayers) { if (player.PlayStatusProp == true) { if (dealer.CountCards() >= player.CountCards()) { Console.WriteLine($"Dealer won vs Player #{player.ShowID}, player lost {player.BettedMoneyProp}."); dealer.AddMoney(player.BettedMoneyProp); player.ResetBetMoney(); } else { Console.WriteLine($"Player #{player.ShowID} won {player.BettedMoneyProp * 2} against Dealer."); player.AddMoney(player.BettedMoneyProp); player.ResetBetMoney(); } } } Console.ReadKey(); break; } } while (dealer.CountCards() < 21); if (dealer.CountCards() == 21) { Console.WriteLine("Dealer received 21 and won everything!"); foreach (Player player in ListOfPlayers) { Console.WriteLine($"Player #{player.ShowID} lost {player.BettedMoneyProp}"); dealer.AddMoney(player.BettedMoneyProp); player.ResetBetMoney(); } Console.ReadKey(); } else if (dealer.CountCards() > 21) { dealer.ShowHand(); Console.WriteLine($"Dealer exceeded 21 by {dealer.CountCards() - 21}."); foreach (Player player in ListOfPlayers) { if (player.PlayStatusProp == true) { Console.WriteLine($"Player #{player.ShowID} won {player.BettedMoneyProp * 2}"); player.AddMoney(player.BettedMoneyProp); player.ResetBetMoney(); } } Console.ReadKey(); } } else { Console.WriteLine("Every player lost, next turn!"); } }