public void Shuffle() { Cards newDeck = new Cards(); Random sourceGen = new Random(); int destCard = sourceGen.Next(52); int i = 0; while (i < 52) { destCard = sourceGen.Next(52); if (!newDeck.Contains(GetCard(destCard))) { newDeck.Add(CurrentDeck[destCard]); i++; } else { destCard = sourceGen.Next(52); if (!newDeck.Contains(GetCard(destCard))) { newDeck.Add(CurrentDeck[destCard]); i++; } } } newDeck.CopyTo(CurrentDeck); }
public void Shuffle() { Cards newDeck = new Cards(); //bool[] assigned = new bool[52]; Random sourceGen = new Random(); //for (int i = 0; i < 52; i++) //{ // int destCard = 0; // bool foundCard = false; // while (foundCard == false) // { // destCard = sourceGen.Next(52); // Debug.WriteLine(destCard); // Debug.WriteLine(assigned[destCard]); // if (assigned[destCard] == false) // { // foundCard = true; // } // } // assigned[destCard] = true; // newDeck[destCard] = cards[i]; //} //for (int i = 0; i < 52; i++) //{ int destCard = sourceGen.Next(52); int i = 0; //newDeck[destCard] = cards[i]; //destCard = sourceGen.Next(52); while (i < 52) { destCard = sourceGen.Next(52); if (!newDeck.Contains(GetCard(destCard))) { newDeck.Add(cards[destCard]); i++; } else { destCard = sourceGen.Next(52); if (!newDeck.Contains(GetCard(destCard))) { newDeck.Add(cards[destCard]); i++; } } } //} newDeck.CopyTo(cards); }