/// <summary> /// Each players (including the dealer) play their turns /// </summary> private IEnumerator PlayersPlayTurns() { foreach (PlayerActions currentPlayer in _players) { CurrentPlayer = currentPlayer; yield return(currentPlayer.PlayTurn()); if (PlayerBusted(currentPlayer)) { int lostAmount = currentPlayer.PlayerCash.LoseCurrentBet(); TurnInfoEvent?.Invoke(currentPlayer.PlayerName + " busted!\n-$" + lostAmount); yield return(new WaitForSeconds(RETROACTION_WAIT_TIME)); } } CurrentPlayer = _dealer; yield return(_dealer.PlayTurn()); }
private void CheckOtherPlayersForNaturals(AbstractPlayerActions currentPlayer) { foreach (PlayerActions player in _players) { if (player == currentPlayer) { continue; } if (player.HasBlackjack()) { player.PlayerCash.ReturnCurrentBet(); } else { player.PlayerCash.LoseCurrentBet(); } } }
public void PlayerDrawsCard(AbstractPlayerActions abstractPlayer) { Card newCard = _cardDeck.DrawCard(); abstractPlayer.AddCardToHand(newCard); }