Лабораторная работа

Отменен
Заказ
4884902
Раздел
Программирование
Предмет
ООП - Объектно-ориентированное программирование
Антиплагиат
Не указан
Срок сдачи
26 Июн 2022 в 19:55
Цена
700 ₽
Блокировка
10 дней
Размещен
20 Июн 2022 в 17:41
Просмотров
126
Описание работы

 Разработать два класса: игрок, осуществляющий ходы случайным образом, и “думающий” игрок (можно простейший алгоритм, не в нём суть задания). У игроков есть метод ПридуматьХод, в который передаётся текущее состояние игры (объект класса Доска), выдающий пару координат, соответствующую ходу. У игроков есть имя в виде текстовой строки. Создать класс Игра, моделирующий матч между несколькими игроками (не более пяти), которые ходят знаками x, o, #, $, %. Добавить в Игра метод СделатьХод с необязательным параметром ПараКоординат, соответствующей ходу. Если пара не задана, ход выбирается автоматически в соответствии с встроенной стратегией игрока.

Реализовать возможность полноценной пошаговой игры, моделируемой классом Игра. Предусмотрите возможность осуществления очередного хода как пользователем, так и логикой, встроенной в соответствующий класс игрока.

Класс СлучайныйИгрок

Атрибуты: имя; знак, которым он ходит.

Методы: получения имени, получения знака, ПридуматьХод.

Класс УмныйИгрок

Атрибуты: имя; знак, которым он ходит.

Методы: получения имени, получения знака, ПридуматьХод.

Класс Доска

Атрибуты: матрица клеток, размеры, признак пустого поля (знак).

Методы: получения состояния ячейки по её координатам, получения размера по горизонтали, получения размера по вертикали, получения признака пустого поля, установки знака по заданным координатам.

Класс Игра

Атрибуты: доска; массив СлучайныхИгроков; массив УмныхИгроков; номер игрока, который сейчас ходит.

Методы: добавления СлучайногоИгрока, добавления УмногоИгрока, удаления игрока по имени, выполнения хода автоматически (без параметров), выполнения хода по заданным координатам, получения победителя, получения выполняющего ход игрока.


Необходимо выбрать STL-контейнер (https://ru.cppreference.com/w/cpp/container), который наиболее подходит в вашем случае. Обоснуйте свой выбор. Статические и динамические массивы ([], new T[SIZE]) использовать запрещено. Стандартные контейнеры безопаснее и выполняют работу с динамической памятью за вас. Если в задании сказано "список чего-то", это не значит, что можно использовать только std::list.


Написать на с++.

Нужна такая же работа?
  • Разместите заказ
  • Выберите исполнителя
  • Получите результат
Гарантия на работу 1 год
Средний балл 4.96
Стоимость Назначаете сами
Эксперт Выбираете сами
Уникальность работы от 70%
Нужна аналогичная работа?
Оформи быстрый заказ и узнай стоимость
Гарантированные бесплатные доработки
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Темы журнала
Показать ещё
Прямой эфир