private void CreateDeck()
 {
     for (int i = 0; i < Enum.GetNames(typeof(Ranks)).Length; i++)
     {
         for (int j = 0; j < Enum.GetNames(typeof(Suits)).Length; j++)
         {
             MainDeck.Push(new Card((Suits)j, (Ranks)i));
         }
     }
 }
        private void Shuffle() // перемешивает карты в MainDeck
        {
            Random      rnd  = new Random();
            List <Card> list = new List <Card>();

            list = MainDeck.OrderBy(item => rnd.Next()).ToList();
            MainDeck.Clear();
            foreach (var card in list)
            {
                MainDeck.Push(card);
            }
        }
 /// <summary>
 /// Сбрасывает одну карту из основной колоды в сброшенную. Если основная колода пуста перекладывает все карты из сброшенной калоды в основную.
 /// </summary>
 public void FoldCard()
 {
     if (MainDeck.Count > 0) // если в колоде есть карты, то сбрасываем одну
     {
         Card temp = MainDeck.Pop();
         temp.FaceUp = true;
         DumpedDeck.Push(temp);
     }
     else // иначе(колода пуста) перемещаем все сброшенные карты назад в колоду
     {
         Card temp;
         while (DumpedDeck.Count > 0)
         {
             temp        = DumpedDeck.Pop();
             temp.FaceUp = false;
             MainDeck.Push(temp);
         }
     }
 }