Blackjack.Hand.AddCard C# (CSharp) Method

AddCard() public method

public AddCard ( Card c ) : void
c Card
return void
        public void AddCard(Card c)
        {
            cards.Add(c);

            if (c.Rank == Ranks.Ace)
                aces++;

            if (aces > 0)
            {
                int temp  = 0;
                foreach (var card in cards)
                    if (card.Rank != Ranks.Ace)
                        temp += card.HighValue;

                int soft = temp + 10 + aces;
                if (soft <= 21)
                {
                    Value = soft;
                    Soft = true;
                }
                else
                {
                    Value = temp + aces;
                    Soft = false;
                }
            }
            else
                Value += c.HighValue;
        }

Usage Example

Example #1
0
        /// <summary>
        /// 追加牌
        /// </summary>
        public void GiveAdditionalCard(Hand hand)
        {
            if (this.cards.Count < 1)
            {
                throw new InvalidOperationException();
            }

            hand.AddCard(this.cards.First());
            this.cards.RemoveAt(0);
        }
All Usage Examples Of Blackjack.Hand::AddCard