Лабораторная работа 1: Рубежный контроль вариант 18, W18
Описание
Лабораторная работа была защищена на высший балл.
Задание:
Разработать графическую программу интерактивной расстановки 8-ми ладей на шахматной доске с синхронным анализом их взаимных угроз. Размер клеток шахматной доски должен передаваться программе аргументом командной строки её вызова. Основное графическое окно программы должно отображать конфигурацию шахматной доски и текущее расположение ладей в её клетках. Каждая ладья условно отображается квадратной ячейкой. При этом ладьи, находящиеся под ударом, должны отличаться от ладей, которым никто не угрожает, цветом фона своих ячеек. Сначала все ладьи расползаются по любой диагонали шахматной доски и не угрожают друг другу. Для изменения ладейный позиции должна быть обеспечена возможность передвижения каждой ладьи указателем мыши с нажатой на ней любой кнопкой в свободные клетки шахматной доски. При этом во время передвижения ладьи указатель мыши не должен пересекать рамку её ячейки и шахматной доски. После отпускания нажатой кнопки мыши передвигаемая ладья должна занять свободную клетку доски, которая имеет наибольшую площадь перекрытия с её ячейкой. После этого производится анализ угроз для новой позиции и необходимое изменение цвета фона ладейных ячеек. Передвижение ладьи в занятую клетку доски должно вызывать автоматический возврат в исходную позицию. Завершение программы должен обеспечивать щелчок любой кнопки мыши на свободной клетке шахматной доски. При разработке программы все клетки шахматной доски и ладейные ячейки должны быть реализованы графическими окнами с соответствующей обработкой событий и захвата указателя мыши в них библиотечными функциями программного интерфейса Xlib из состава X Window System.Показать/скрыть дополнительное описание
Разработать графическую программу интерактивной расстановки 8-ми ладей на шахматной доске с синхронным анализом их взаимных угроз. Размер клеток шахматной доски должен передаваться программе аргументом командной строки её вызова. Основное графическое окно программы должно отображать конфигурацию шахматной доски и текущее расположение ладей в её клетках. Каждая ладья условно отображается квадратной ячейкой. При этом ладьи, находящиеся под ударом, должны отличаться от ладей, которым никто не угрожает, цветом фона своих ячеек. Сначала все ладьи расползаются по любой диагонали шахматной доски и не угрожают друг другу. Для изменения ладейный позиции должна быть обеспечена возможность передвижения каждой ладьи указателем мыши с нажатой на ней любой кнопкой в свободные клетки шахматной доски.
При этом во время передвижения ладьи указатель мыши не должен пересекать рамку её ячейки и шахматной доски. После отпускания нажатой кнопки мыши передвигаемая ладья должна занять свободную клетку доски, которая имеет наибольшую площадь перекрытия с её ячейкой. После этого производится анализ угроз для новой позиции и необходимое изменение цвета фона ладейных ячеек. Передвижение ладьи в занятую клетку доски должно вызывать автоматический возврат в исходную позицию. Завершение программы должен обеспечивать щелчок любой кнопки мыши на свободной клетке шахматной доски. При разработке программы все клетки шахматной доски и ладейные ячейки должны быть реализованы графическими окнами с соответствующей обработкой событий и захвата указателя мыши в них библиотечными функциями программного интерфейса Xlib из состава X Window System..
Файлы условия, демо
Характеристики лабораторной работы
Преподаватели
Список файлов
Комментарии






