Inheritance: Hardly.Games.PlayingCardListEvaluator
Exemple #1
0
        public bool Split()
        {
            if (canSplit)
            {
                splitHandEvaluator   = new BlackjackCardListEvaluator(new List <PlayingCard>(hand.Pop()));
                amountBetOnSplitHand = bet;

                if (PlaceBet(bet, true) > 0)
                {
                    mainHandEvaluator.isSplit  = true;
                    splitHandEvaluator.isSplit = true;
                    controller.DealCard(hand);
                    controller.DealCard(splitHandEvaluator.cards);

                    if (hand[0].value.Equals(PlayingCard.Value.Ace))
                    {
                        mainHandEvaluator.isStanding  = true;
                        splitHandEvaluator.isStanding = true;
                    }

                    return(true);
                }
                else
                {
                    splitHandEvaluator   = null;
                    amountBetOnSplitHand = 0;
                }
            }

            return(false);
        }
Exemple #2
0
 public BlackjackPlayer(Blackjack <PlayerIdType> controller, PlayerPointManager pointManager, PlayerIdType playerIdObject)
     : base(pointManager, playerIdObject)
 {
     boughtInsurance      = false;
     this.controller      = controller;
     mainHandEvaluator    = new BlackjackCardListEvaluator(hand);
     splitHandEvaluator   = null;
     amountBetOnSplitHand = 0;
 }
 public void IsBustTest()
 {
     var hand = new BlackjackCardListEvaluator(new PlayingCardList());
     hand.cards.Add(new PlayingCard(PlayingCard.Suit.Clubs, PlayingCard.Value.King));
     hand.cards.Add(new PlayingCard(PlayingCard.Suit.Clubs, PlayingCard.Value.King));
     hand.cards.Add(new PlayingCard(PlayingCard.Suit.Clubs, PlayingCard.Value.King));
     hand.cards.Add(new PlayingCard(PlayingCard.Suit.Clubs, PlayingCard.Value.King));
     Assert.IsTrue(hand.isBust);
 }
 /// <summary>
 /// True = win; Null = tie; False = lose.
 /// </summary>
 public bool? IsWinner(BlackjackCardListEvaluator dealer)
 {
     if(!isBust && handValue == dealer.handValue && isBlackjack == dealer.isBlackjack) {
         return null;
     } else {
         return !isBust
             && (dealer.isBust
                 || (handValue > dealer.handValue
                         || (isBlackjack && !dealer.isBlackjack)));
     }
 }
 /// <summary>
 /// True = win; Null = tie; False = lose.
 /// </summary>
 public bool?IsWinner(BlackjackCardListEvaluator dealer)
 {
     if (!isBust && handValue == dealer.handValue && isBlackjack == dealer.isBlackjack)
     {
         return(null);
     }
     else
     {
         return(!isBust &&
                (dealer.isBust ||
                 (handValue > dealer.handValue ||
                  (isBlackjack && !dealer.isBlackjack))));
     }
 }
Exemple #6
0
        static long GetWinnings(BlackjackCardListEvaluator dealer, BlackjackCardListEvaluator cardListEvaluator, ulong bet)
        {
            long winningsOrLosings;

            switch (cardListEvaluator.IsWinner(dealer))
            {
            case true:
                winningsOrLosings = cardListEvaluator.isBlackjack ? (long)(bet * 1.5): (long)bet;
                break;

            case false:
                winningsOrLosings = (long)bet * -1L;
                break;

            default:
                winningsOrLosings = 0;
                break;
            }

            return(winningsOrLosings);
        }