Создать производный класс от колоды - пасьянс, в котором выбираются по три карты - C#

Узнай цену своей работы

Формулировка задачи:

Создать колоду карт.Создать производный класс от колоды - пасьянс, в котором выбираются по три карты и, если две крайние одного цвета, то их выбрасывают. Всю колоду проходят три раза.

Решение задачи: «Создать производный класс от колоды - пасьянс, в котором выбираются по три карты»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Text;
 
namespace Nasledovanie
{
    class Card
    {
        public string mass;
        public string[] rang = new string[] { "шестерка", "семерка", "восьмерка", "девятка", "десятка", "валет", "дама", "король", "туз" };
        public string[] mast = new string[] { "Черви", "Крести", "Буби", "Пики" };
    }
 
    class coloda : Card
    {
        public int number = 36;
    }
 
    class Proizvolnyi : coloda
    {
        public void Method()
        {
 
            for (int i = 0; i < mast.Length; i++)
            {
                for (int j = 0; j < rang.Length; j++)
                {
                    mass = rang[j] + " " + mast[i];
                    Console.WriteLine(mass);
                }
            }
        }
    }
 
 
 
 
    class Proizvolnyi2 : coloda
    {
        public void Method1()
        {
            for (int j = 0; j < rang.Length; j++)
            {
                for (int i = 0; i < mast.Length; i++)
                {
                    mass = rang[j] + " " + mast[i];
                    Console.ForegroundColor = ConsoleColor.Magenta;
                    Console.WriteLine(mass);
                }
 
            }
 
 
        }
 
 
 
 
    }
 
    
    class Proizvolnyi3 : coloda
    {
        public string [] ar=new string [36];
        public void Method2()
        {
            Random Rnd1 = new Random();
            int Ind1;
            Random Rnd2 = new Random();
            int Ind2;
 
            // Случайная сортировка-перестановка для динамических массивов 
            for (int i = 0; i < 36; i++)
            {
            M:  Ind1 = Rnd1.Next(0, rang.Length-1);
                Ind2 = Rnd2.Next(0, mast.Length-1);
                ar[i] = rang[Ind1] + " " + mast[Ind2];
                for (int j = 0; j < i; j++)
                {
                    if (ar[i] == ar[j]) 
                        goto M;
                }
                Console.WriteLine(ar[i]);
            }
        }
    }
 
    class Program
    {
        static void Main()
        {
            coloda pachka = new coloda();
            Console.WriteLine("Количество карт в колоде равно : " + pachka.number);
            Console.ReadLine();
            Proizvolnyi cl = new Proizvolnyi();
            Console.WriteLine("Вывод колоды по порядку : ");
            cl.Method();
            Console.WriteLine("Произвольный метод вывода карт ");
            Proizvolnyi2 cl2 = new Proizvolnyi2();
            cl2.Method1();
            Console.WriteLine("hjhlk ");
 
            Proizvolnyi3 cl3 = new Proizvolnyi3();
            cl3.Method2();
            Console.WriteLine("hjhlk ");
 
 
            
        }
    }     
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.143 из 5
Похожие ответы