Лабораторная работа 7: Лабораторная работа №7 РК6 (C05) + отчет вариант 5
Описание
Разработать объектно - ориентированную программу ходов комплексной шахматной фигуры Lord, которая объединяет свойства фигур King и Rook со следующей схемой угроз.
Начальная позиция фигуры (по умолчанию a1) должна задаваться аргументом командной строки вызова программы. Перестановка фигуры должна производиться по запросам новой позиции записями строк потока стандартного ввода в шахматной нотации. Стандартный вывод программы должен отображать клетки шахматной доски, которым угрожает заданная фигура из любой позиции, куда она может быть установлена. Клетки угроз должны быть обозначены знаками + и х по атакам составляющих фигур. Клетка, занятая самой фигурой должна маркироваться ее литерой, а остальные клетки для наглядности должны заполняться точками. Горизонтали и вертикали изображения шахматной доски должны маркироваться цифрами 8-1 и буквами а - h по ее краям. Шахматные координаты текущей позиции и запрос их для новой позиции фигуры должны отображаться под отображением схемы угроз. Выход из программы должен происходить при перестановке фигуры с нарушением правил ее хода.
Программный код должен предусматривать виртуальное множественное наследование базового суперкласса абстрактной фигуры, где специфицированы защищенное позиционное поле с чистой атакой из него и идентификацией типа. Кроме того, в базовом классе должен быть реализован публичный метод индикации дифференциальных угроз по клеткам доски, а также публичная перегрузка операций адресации, сравнения, перестановки и потокового ввода - вывода позиции фигуры. Позиционный контроль должен обеспечивать статический метод. Производные публичные подклассы базового суперкласса должны специфицировать публичную перегрузку методов виртуальных атак и идентификации типа для составляющих фигур. Производный подкласс комплексной фигуры должен быть образован множественным наследованием подклассов составляющих фигур с публичной перегрузкой виртуальной атаки и идентификации типа. Конструкторы всех подклассов должны обеспечивать вызов конструктора базового суперкласса для инициализации позиции фигуры, по его адресному аргументу. Для множественного наследования должны быть предусмотрены конструкторы без аргументов.
Характеристики лабораторной работы
Список файлов
- C05 отчет.docx 1,07 Mb