Для студентов МГТУ им. Н.Э.Баумана по предмету Программирование графических приложений (ПГП)8 ладей на шахматной доске8 ладей на шахматной доске
5,0051
2026-01-222026-01-24СтудИзба
Лабораторная работа: 8 ладей на шахматной доске вариант W18, 18, 18W
Новинка
Описание
Отчёт выполненный по всем требованиям Волосатовой + файлы с исходным кодом программы.
Compile: gcc xchess.c logic.c main.c -lX11 -lm
Задание:
Разработать графическую программу интерактивной расстановки 8-ми ладей на шахматной доске с синхронным анализом их взаимных угроз. Размер клеток шахматной доски должен передаваться программе аргументом командной строки её вызова.
Основное графическое окно программы должно отображать конфигурацию шахматной доски и текущее расположение ладей в её клетках. Каждая ладья условно отображается квадратной ячейкой. При этом ладьи, находящиеся под ударом, должны отличаться от ладей, которым никто не угрожает, цветом фона своих ячеек.
Сначала все ладьи располагаются по любой диагонали шахматной доски и не угрожают друг другу. Для изменения ладейной позиции должна быть обеспечена возможность передвижения каждой ладьи указателем мыши с нажатием на ней любой кнопкой в свободные клетки шахматной доски. При этом во время передвижения ладьи указатель мыши не должен пересекать рамку её ячейки и шахматной доски.
После отпускания нажатой кнопки мыши передвигаемая ладья должна занять свободную клетку доски, которая имеет наибольшую площадь перекрытия с её ячейкой. После этого производится анализ угроз для новой позиции и необходимое изменение цвета фона ладейных ячеек.
Передвижение ладьи в занятую клетку доски должно вызывать автоматический возврат в исходную позицию. Завершение программы должен обеспечивать щелчок любой кнопки мыши на свободной клетке шахматной доски.
При разработке программы все клетки шахматной доски и ладейные ячейки должны быть реализованы графическими окнами с соответствующей обработкой событий и захвата указателя мыши в них библиотечными функциями программного интерфейса Xlib из состава X Window System.
Compile: gcc xchess.c logic.c main.c -lX11 -lm
Задание:
Разработать графическую программу интерактивной расстановки 8-ми ладей на шахматной доске с синхронным анализом их взаимных угроз. Размер клеток шахматной доски должен передаваться программе аргументом командной строки её вызова.
Основное графическое окно программы должно отображать конфигурацию шахматной доски и текущее расположение ладей в её клетках. Каждая ладья условно отображается квадратной ячейкой. При этом ладьи, находящиеся под ударом, должны отличаться от ладей, которым никто не угрожает, цветом фона своих ячеек.
Сначала все ладьи располагаются по любой диагонали шахматной доски и не угрожают друг другу. Для изменения ладейной позиции должна быть обеспечена возможность передвижения каждой ладьи указателем мыши с нажатием на ней любой кнопкой в свободные клетки шахматной доски. При этом во время передвижения ладьи указатель мыши не должен пересекать рамку её ячейки и шахматной доски.
После отпускания нажатой кнопки мыши передвигаемая ладья должна занять свободную клетку доски, которая имеет наибольшую площадь перекрытия с её ячейкой. После этого производится анализ угроз для новой позиции и необходимое изменение цвета фона ладейных ячеек.
Передвижение ладьи в занятую клетку доски должно вызывать автоматический возврат в исходную позицию. Завершение программы должен обеспечивать щелчок любой кнопки мыши на свободной клетке шахматной доски.
При разработке программы все клетки шахматной доски и ладейные ячейки должны быть реализованы графическими окнами с соответствующей обработкой событий и захвата указателя мыши в них библиотечными функциями программного интерфейса Xlib из состава X Window System.
Характеристики лабораторной работы
Учебное заведение
Семестр
Просмотров
2
Размер
87,73 Kb
Преподаватели
Список файлов
rk1_W18
chess.
logic.c
main.c
rk1.docx
xchess.h
Комментарии
Нет комментариев
Стань первым, кто что-нибудь напишет!
МГТУ им. Н.Э.Баумана



















