Создать производный класс от колоды — пасьянс, в котором выбираются по три карты - 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 //Бубны
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д