Beispiel #1
0
    /// <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());
    }
Beispiel #2
0
 private void CheckOtherPlayersForNaturals(AbstractPlayerActions currentPlayer)
 {
     foreach (PlayerActions player in _players)
     {
         if (player == currentPlayer)
         {
             continue;
         }
         if (player.HasBlackjack())
         {
             player.PlayerCash.ReturnCurrentBet();
         }
         else
         {
             player.PlayerCash.LoseCurrentBet();
         }
     }
 }
Beispiel #3
0
    public void PlayerDrawsCard(AbstractPlayerActions abstractPlayer)
    {
        Card newCard = _cardDeck.DrawCard();

        abstractPlayer.AddCardToHand(newCard);
    }