/// <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; }
public void Clear() { deck = new CardStack <T>(); discard = new CardStack <T>(); }