Создать производный класс от колоды — пасьянс, в котором выбираются по три карты - C#
Формулировка задачи:
Создать карту и использую композицию - колоду карт. Конструкторы колоды должны инициализировать колоду упорядочено и случайным образом. Создать производный класс от колоды - пасьянс, в котором выбираются по три карты и, если две крайние одного цвета, то их выбрасывают. Всю колоду проходят три раза.
помогите написать программу please
Решение задачи: «Создать производный класс от колоды — пасьянс, в котором выбираются по три карты»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
CardDeck deck = new CardDeck(10,true);
}
}
//Класс Карта
public class Card
{
public string cardSuite { get; set; }
}
//Класс Колода
public class CardDeck:IEnumerable<Card>
{
List<Card> cardList;
Random rand;
//Конструктор
//если в параметре ordered true, заполнение колоды упорядочено
//в противном случае случайно
public CardDeck(int size, bool ordered)
{
cardList = new List<Card>();
rand = new Random();
int index = 0;
if (!ordered)
{
for (int i = 0; i < size; i++)
{
cardList.Add(new Card() { cardSuite = Enum.GetName(typeof(suit), rand.Next(0, 4)) });
}
}
else
{
for (int i = 0; i < size; i++)
{
cardList.Add(new Card() { cardSuite = Enum.GetName(typeof(suit), index) });
index++;
index = (index > 3) ? 0 : index;
}
}
}
public IEnumerator<Card> GetEnumerator()
{
return cardList.GetEnumerator();
}
System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
{
return cardList.GetEnumerator();
}
}
//Перечисление Масть
public enum suit:int
{
Spades = 0, //Пики
Hearts = 1, //Червы
Clubs = 2, //Трефы
Diamonds = 3 //Бубны
}
}