Пример #1
0
        /// <summary>
        /// Shuffles the deck using the Fisher-Yates algorithm.
        /// </summary>
        public void ShuffleDeck()
        {
            var cards = deck.ToArray();

            for (int i = cards.Length - 1; i > 0; i--)
            {
                int random = Random.Range(0, i);
                var temp   = cards[random];
                cards[random] = cards[i];
                cards[i]      = temp;
            }

            CardStack <T> newStack = new CardStack <T>();

            foreach (var card in cards)
            {
                newStack.AddTop(card);
            }

            deck = newStack;
        }
Пример #2
0
 public void Clear()
 {
     deck    = new CardStack <T>();
     discard = new CardStack <T>();
 }