Лабораторная работа 1: Рубежный контроль вариант W26
Описание
Разработать графическую программу интерактивной расстановки 8-ми ферзей на шахматной доске с синхронным анализом их взаимных угроз. Размер клеток шахматной доски должен передаваться программе аргументом командной строки её вызова. Основное графическое окно программы должно отображать конфигурацию шахматной доски и текущее расположение ферзей в её клетках. Каждая ферзь условно отображается круглой ячейкой. При этом ферзи, находящиеся под ударом, должны отличаться от ладей, которым никто не угрожает, цветом своих ячеек. Сначала все ферзи должны быть расставлены таким образом, что они не угрожают друг другу. Для получения других вариантов расстановки ферзей должны быть предусмотрена возможность передвинуть каждого ферзя указателем мыши с нажатием на ней любой кнопкой в свободные клетки шахматной доски. После отпускания нажатой кнопки мыши передвигаемый ферзь должен занять свободную клетку доски, которая имеет наибольшую площадь перекрытия с его ячейкой. После этого производится анализ угроз ферзей для новой позиции и необходимое изменение цвета их ячеек. Передвижение ферзей в занятые клетки должно блокироваться автоматическим возвратом в исходную позицию. Нажатие клавиши ESC на клавиатуре должно восстановить начальный вариант расстановки ферзей. Завершение программы должен обеспечивать нажатие комбинации клавиш CTRL+Q на клавиатуре. При разработке программы все клетки шахматной доски должны быть реализованы графическими окнами с соответствующей обработкой событий и захвата указателя мыши в них библиотечными функциями программного интерфейса Xlib.
Характеристики лабораторной работы
Список файлов
- W26 отчет.docx 1,09 Mb