Exemple #1
0
 public Enums.PaymentFlow DetermineWinner(PlayerHand playerHand, IDealer dealer)
 {
     var dealerHandValue = dealer.GetDealerHandValue();
     var isDealerHandBlackjack = dealer.IsHandBlackjack();
     if ((playerHand.IsBlackJack && isDealerHandBlackjack) ||
         (playerHand.HandTotal == dealerHandValue && !playerHand.IsBlackJack && isDealerHandBlackjack) ||
         (playerHand.HandTotal > 21 && dealerHandValue > 21))
     {
         return Enums.PaymentFlow.Push;
     }
     if (playerHand.IsBlackJack)
     {
         return Enums.PaymentFlow.PayBlackjack;
     }
     if (playerHand.HandTotal > 21 ||
         (playerHand.HandTotal < dealerHandValue && dealerHandValue <= 21) ||
         isDealerHandBlackjack)
     {
         return Enums.PaymentFlow.PayDealer;
     }
     return Enums.PaymentFlow.PayPlayer;
 }