Домашнее задание

Выполнен
Заказ
5133656
Раздел
Программирование
Предмет
C#
Тип работы
Антиплагиат
Не указан
Срок сдачи
22 Дек 2022 в 14:00
Цена
500 ₽
Блокировка
5 дней
Размещен
21 Дек 2022 в 14:32
Просмотров
196
Описание работы

Необходимо написать программу-игру "видео покер", используя как можно больше ООП.


Правила игры:

В оригинальной версии вам раздают 5 карт, затем вы можете один раз поменять любые из них, либо не менять. Затем в зависимости от имеющейся у вас руки рассчитывается ваш выигрыш. Чем "старше" ваша рука, тем больше выигрыш.

В нашем приложении мы реализуем лишь некоторые части такой игры: раздачу карт и определение вашей сильнейшей комбинации.

Для понимания на английском:

  • Черви - Hearts
  • Буби - Diamonds
  • Крести - Clubs
  • Пики - Spades


Уровень 1


Необходимо создать класс Card (Карта):


Карта может быть одной из 4 "мастей" и иметь свое "значение" из 


string[] ranks = {"2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A"};


string[] suits = {"\u2660", "\u2665", "\u2666", "\u2663"}; //♠ ♥ ♦ ♣ 


Символы "\u2660" будут преобразованы в соответствующие при выводе на экран.


Карта должна быть создана с двумя параметрами: масть и значение. Карта должна иметь метод для вывода себя на экран (например, переопределение ToString()). Вывод карты может выглядеть следующим образом:


K♣


Уровень 2


Написать класс Deck, который символизирует колоду карт. При создании колоды, автоматически создаются все 52 карты (все карты - это комбинации "мастей" и "значений"). Колода будет иметь такие методы:

  • Взять карту из колоды (при этом нужно обеспечить, что из колоды нельзя вытащить две одинаковые карты)
  • Перемешать колоду


Уровень 3

Написать класс Hand, который символизирует набранные карты игрока. Класс Hand имеет следующие методы:

  • Добавить карту в руку
  • Отобразить всю руку на экране. Отображать нужно номер карты в руке, и саму карту. Вывод карт можно сделать например как-то так:

0   | 1   | 2   | 3   | 4  |

3♦  | 10♣ | A♥  | 6♥  | J♦ |


  • Можно сделать вывод номеров карт с 1 а не с 0, для удобства
  • Изменить карту в руке по номеру позиции (передается номер позиции и карта). При этом эта карта автоматически заменяет существующую.


Уровень 4

Написать пользовательское взаимодействие для игры, которое должно находиться в классе Program:


  • Раздать 5 карт игроку
  • Вывести розданные карты на экран
  • Предложить игроку заменить какие-то из них

Введите номера карт, которые вы хотите заменить через пробел

Например, "0 3 4" заменят 0, 3 и 4 карты соответственно


  • Обработать ввод пользователя
  • Для каждой позиции карты поменять эти карты в руке
  • Вывести результат на экран.


Уровень 5

Определить текущую руку. 

 Обязательно:

  • Определить комбинации:
  • Одна пара
  • Две пары
  • Тройка
  • Флэш
Нужна такая же работа?
  • Разместите заказ
  • Выберите исполнителя
  • Получите результат
Гарантия на работу1 год
Средний балл4.52
СтоимостьНазначаете сами
ЭкспертВыбираете сами
Уникальность работыот 70%
Время выполнения заказа:
5 часов 26 минут
Выполнен в срок
Отзыв о выполненном заказе
Нужна аналогичная работа?
Оформи быстрый заказ и узнай стоимость
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Прямой эфир