/// <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 DiscardCard(T card) { discard.AddTop(card); }
public void AddCardToDeck(T card) { deck.AddTop(card); }