Главная Учебники - Разные Лекции (разные) - часть 33
Содержание 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 - Главное меню Меню файл. Выполняет следующие функции: Загрузить. Открывает файл, считывает координаты фигур и рисует их на доске. Сохранить программу. Сохраняет в файл координаты фигур. Выход. Завершает работу приложения. Меню о программе. Информация о разработчике. Для оценки ситуации на шахматной доске вначале необходимо расставить фигуры, используя соответствующие фигурам кнопки на панели, затем нажать кнопку оценка ситуации. Для записи положения фигур в файл необходимо выбрать Файл ® Сохранить как. В открывшемся диалоговом окне написать название файла, выбрать путь его сохранения и нажать кнопку "Сохранить". Для воспроизведения исполняемой программы необходимо выбрать Файл ® Открыть. В открывшемся диалоговом окне выбрать файл с программой и нажать кнопку "Открыть". После этого начнет выполняться программа. Для очистки шахматной доски от фигур необходимо нажать кнопку расставить заново. Для удаления единичной фигуры нажать кнопку удалить фигуру.
|