示例#1
0
        public void Shuffle()
        {
            //Card[] newDeck = new Card[52];
            CardsCollection newDeck = new CardsCollection();

            bool[] assigned  = new bool[52];
            Random sourceGen = new Random();

            for (int i = 0; i < 52; i++)
            {
                //int destCard = 0;
                int  sourceCard = 0;
                bool foundCard  = false;
                while (foundCard == false)
                {
                    sourceCard = sourceGen.Next(52);//Next(x)----生成一个介于0~x之间的随机数。
                    if (assigned[sourceCard] == false)
                    {
                        foundCard = true;
                    }
                }
                assigned[sourceCard] = true;
                //newDeck[destCard] = cards[i];
                newDeck.Add(cards[sourceCard]);
            }
            newDeck.CopyTo(cards);
        }
示例#2
0
 public void CopyTo(CardsCollection targetCards)
 {
     for (int index = 0; index < this.Count; index++)
     {
         targetCards[index] = this[index];
     }
 }
示例#3
0
        public object Clone()
        {
            CardsCollection newCards = new CardsCollection();

            foreach (Card sourceCard in List)
            {
                newCards.Add((Card)sourceCard.Clone());
            }
            return(newCards);
        }
示例#4
0
 private Deck(CardsCollection newCards)
 {
     cards = newCards;
 }