Содержание
1.Постановка задачи
2. Теоретическая часть
3. Проектирование приложения
3.1 Модульная структура приложения
4. Реализация приложения
4.1 Класс BOARD. В классе содержатся следующие методы
4.2 ANALIZ. В классе содержатся следующие методы
4.3 RW. В классе содержатся следующие методы
5. Интерфейс приложения
5.1 Внешний вид приложения
5.2 Последовательность работы с приложением
Задание: Разработать программу для оценки шахматной ситуации на доске, используя графический пользовательский интерфейс. Исходные фигуры: король, ферзь, ладья, пешка.
Вывод результатов работы программы должен осуществляется двумя способами:
На экран
В файл
Для реализации поставленной задачи используется библиотека визуальных компонентов (VisualComponentLibrary, VCL). Она содержит большое количество классов, предназначенных для быстрой разработки приложений. Библиотека написана на ObjectPascal и непосредственно связана с интегрированной средой разработки приложений C++ Builder. Несмотря на название, в VCL содержатся главным образом невизуальные компоненты, однако имеются и визуальные.
Для работы с графикой использовался класс TCanvas из модуля (Graphics. hpp).
Описание:
Класс TCanvas является основой графической подсистемы C++Builder. Канва обеспечивает:
Загрузку и хранение графических изображений
Создание новых и изменение хранимых изображений с помощью пера, кисти, шрифта
Рисование и закраску различных фигур, линий, текстов
Комбинирование различных изображений
Из библиотеки VCL использовались следующие компоненты:
Panel.
Панель - контейнер для группировки других компонентов. Может использоваться также как компонент отображения текста.
OpenDialog и SaveDialog.
Используются для осуществления диалога с пользователем при сохранении или загрузке файла.
Button
Кнопка для выполнения пользователем каких-то команд.
Image
Используется для хранения изображения фигур, на которые можно ссылаться.
MainMenu.
Невизуальный компонент, позволяет конструировать и создавать на форме полосу главного меню, а также сопутствующие выпадающие меню.
3.1.1 Board
Этот модуль содержит класс BOARD, который осуществляет прорисовку шахматной доски с фигурами.
3.1 2 Analiz
Этот модуль содержит класс ANALIZ, в котором осуществляется правильность расстановки королей и оценка шахматной ситуации.
3.1 3 RWfile
Этот модуль содержит класс RW, в котором осуществляется чтение и запись исполняемой программы.
3.1 4 Main
В этом модуле осуществляется работа приложения.
Листинг всех модулей приведен в приложении А.
FieldDraw . Рисует квадратное поле. Передаваемые параметры: размеры рамки (rk), битмап, в котором рисуется поле (doskap).
BoardDraw . Рисует шахматную доску. Передаваемыми параметрами ялвяется: координаты клетки, битмап.
FigDraw . Рисует фигуры на доске. Передаваемые параметры: координаты фигуры, изображение фигуры.
RamkaDraw . Рисует рамку вокруг рабочей клетки. Передаваемые параметры: координаты клетки.
CanvasBoardDraw . Рисует шахматную доску с фигурами на форме. Передаваемые параметры: координаты (x, y), относительно которых начинается прорисовка шахматной доски, канва объекта, на котором необходимо рисовать.
Ocenka . Оценивает ситуацию на доске (шах, мат, игра продолжается).
CheckPos . Проверяет наличие "вражеского" короля. Передаваемые параметры координаты короля (x, y).
Analizshod . Анализирует возможные ходы короля, находящегося под шахом.
CopyPos . Копирует исходный массив, расстановки фигур.
ReadFile . Считывает координаты расстановки фигур в массив.
WriteFile . Записывает координаты фигур в массив.
При запуске приложения открывается его рабочее окно (рисунок 1).
Рисунок 1 - Окно приложения
Окно приложения содержит:
Кнопки редактирования (Рисунок 2): расставить заново - очистка шахматной доски, удалить фигуру - удаляет фигуру выделенную в синей рамке на доске.
Рисунок 2 - Кнопки редактирования
Кнопка Оценка ситуации (Рисунок 3) - анализирует ситуацию на доске и выводит результат.
Рисунок 3 - Кнопка оценка ситуации
Кнопки расстановки фигур (Рисунок 4) - расставляют фигуры в указанные позиции на доске.
Рисунок 4 - Кнопки расстановки фигур
Главное меню (рисунок 5).
Рисунок 5 - Главное меню
Меню файл.
Выполняет следующие функции:
Загрузить. Открывает файл, считывает координаты фигур и рисует их на доске.
Сохранить программу. Сохраняет в файл координаты фигур.
Выход. Завершает работу приложения.
Меню о программе.
Информация о р
Внимание, отключите Adblock
Вы посетили наш сайт со включенным блокировщиком рекламы!
Ссылка для скачивания станет доступной сразу после отключения Adblock!
Одними из наиболее популярных услуг на рынке IT-технологий являются создание и продвижение лендингов. Они способны положительно влиять на деятельность любого бизнес-проекта в интернете. Судя по многочисленным отзывам, заказавшие создание лендингов люди ни разу не пожалели о потраченных деньгах. Они вложили в будущее, которое неразрывно связано с интернетом. Всё больше и больше предпринимателей обращаются к услугам разных агентств, веб-студий, чтобы заказать создание лендинга у профессионалов.