Example #1
0
 //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);
     }
 }