//shuffle method, public void Shuffle(int deckSize) { if (deckSize == 52) { CardList newDeck = new CardList(); bool[] assigned = new bool[52]; Random sourceGen = new Random(); for (int i = 0; i < 52; i++) { int sourceCard = 0; bool foundCard = false; while (foundCard == false) { sourceCard = sourceGen.Next(52); if (assigned[sourceCard] == false) { foundCard = true; } } assigned[sourceCard] = true; newDeck.Add(cards[sourceCard]); } newDeck.CopyTo(cards); } else if (deckSize == 36) { CardList newDeck = new CardList(); bool[] assigned = new bool[36]; Random sourceGen = new Random(); for (int i = 0; i < 36; i++) { int sourceCard = 0; bool foundCard = false; while (foundCard == false) { sourceCard = sourceGen.Next(36); if (assigned[sourceCard] == false) { foundCard = true; } } assigned[sourceCard] = true; newDeck.Add(cards[sourceCard]); } newDeck.CopyTo(cards); } else if (deckSize == 20) { CardList newDeck = new CardList(); bool[] assigned = new bool[20]; Random sourceGen = new Random(); for (int i = 0; i < 20; i++) { int sourceCard = 0; bool foundCard = false; while (foundCard == false) { sourceCard = sourceGen.Next(20); if (assigned[sourceCard] == false) { foundCard = true; } } assigned[sourceCard] = true; newDeck.Add(cards[sourceCard]); } newDeck.CopyTo(cards); } }