Beispiel #1
0
 public void initializeCard()
 {
     deck.Clear();
     for (int i = 0; i < 52; i++)
     {
         Poke temp = new Poke(i + 1);
         deck.Add(temp);
     }
 }
Beispiel #2
0
 public Deck()
 {
     deck.Clear();
     for (int i = 0; i < 52; i++)
     {
         Poke temp = new Poke(i + 1);
         deck.Add(temp);
     }
 }
Beispiel #3
0
        public Poke drawCard()
        {
            if (getCardRemain() == 0)
            {
                return(null);
            }

            Random ro     = new Random();
            int    random = ro.Next(1, getCardRemain());

            Poke tmp = deck[random];

            deck.RemoveAt(random);

            return(tmp);
        }
Beispiel #4
0
        public void drawCard(Poke draw)
        {
            card.Add(draw);
            int ValueOfCard;

            if (draw.getFaceValue() > 10)
            {
                ValueOfCard = 10;
            }
            else
            {
                ValueOfCard = draw.getFaceValue();
            }

            if (ValueOfCard == 1)
            {
                if (cardTotal <= 10)
                {
                    cardTotal += 11;
                    card_ace_for_eleven++;
                }
                else
                {
                    cardTotal += 1;
                }
            }
            else
            {
                if ((cardTotal + ValueOfCard) > 21 && card_ace_for_eleven > 0)
                {
                    cardTotal = cardTotal + ValueOfCard - 10;
                    card_ace_for_eleven--;
                }
                else if ((cardTotal + ValueOfCard) > 21 && card_ace_for_eleven == 0)
                {
                    cardTotal = cardTotal + ValueOfCard;
                }
                else if ((cardTotal + ValueOfCard) <= 21)
                {
                    cardTotal = cardTotal + ValueOfCard;
                }
            }
        }
Beispiel #5
0
        public List <int> Hithandler()
        {
            List <int> retData = new List <int>();

            if (deck.getCardRemain() != 0)
            {
                Poke temp = deck.drawCard();
                player.drawCard(temp);
                if (player.isBurst())
                {
                    //1 3玩家 庄家 1 8
                    retData.Add(1);//爆了
                    retData.Add(player.cardNumbers().Count);
                    retData.Add(temp.getCardNumber());

                    List <int> tmp;
                    tmp = banker.cardNumbers();
                    foreach (int i in tmp)
                    {
                        retData.Add(i);
                    }
                    player.minusBet();
                    return(retData);
                }
                else
                {
                    retData.Add(0);
                    retData.Add(player.cardNumbers().Count);
                    retData.Add(temp.getCardNumber());
                    return(retData);
                }
            }
            else
            {
                return(null);
            }
        }