Содержание
1.Постановка задачи
2. Теоретическая часть
3. Проектирование приложения
3.1 Модульная структура приложения
4. Реализация приложения
4.1 Класс BOARD. В классе содержатся следующие методы
4.2 ANALIZ. В классе содержатся следующие методы
4.3 RW. В классе содержатся следующие методы
5. Интерфейс приложения
5.1 Внешний вид приложения
5.2 Последовательность работы с приложением
1. Постановка задачи
Задание: Разработать программу для оценки шахматной ситуации на доске, используя графический пользовательский интерфейс. Исходные фигуры: король, ферзь, ладья, пешка.
Вывод результатов работы программы должен осуществляется двумя способами:
На экран
В файл
2. Теоретическая часть
Для реализации поставленной задачи используется библиотека визуальных компонентов (VisualComponentLibrary, VCL). Она содержит большое количество классов, предназначенных для быстрой разработки приложений. Библиотека написана на ObjectPascal и непосредственно связана с интегрированной средой разработки приложений C++ Builder. Несмотря на название, в VCL содержатся главным образом невизуальные компоненты, однако имеются и визуальные.
Для работы с графикой использовался класс TCanvas из модуля (Graphics. hpp).
Описание:
Класс TCanvas является основой графической подсистемы C++Builder. Канва обеспечивает:
Загрузку и хранение графических изображений
Создание новых и изменение хранимых изображений с помощью пера, кисти, шрифта
Рисование и закраску различных фигур, линий, текстов
Комбинирование различных изображений
Из библиотеки VCL использовались следующие компоненты:
Panel.
Панель - контейнер для группировки других компонентов. Может использоваться также как компонент отображения текста.
OpenDialog и SaveDialog.
Используются для осуществления диалога с пользователем при сохранении или загрузке файла.
Button
Кнопка для выполнения пользователем каких-то команд.
Image
Используется для хранения изображения фигур, на которые можно ссылаться.
MainMenu.
Невизуальный компонент, позволяет конструировать и создавать на форме полосу главного меню, а также сопутствующие выпадающие меню.
3. П
роектирование приложения
3.1 Модульная структура приложения
3.1.1 Board
Этот модуль содержит класс BOARD, который осуществляет прорисовку шахматной доски с фигурами.
3.1 2 Analiz
Этот модуль содержит класс ANALIZ, в котором осуществляется правильность расстановки королей и оценка шахматной ситуации.
3.1 3 RWfile
Этот модуль содержит класс RW, в котором осуществляется чтение и запись исполняемой программы.
3.1 4 Main
В этом модуле осуществляется работа приложения.
4. Реализация приложения
Листинг всех модулей приведен в приложении А.
4.1 Класс
BOARD. В классе содержатся следующие методы
FieldDraw
. Рисует квадратное поле. Передаваемые параметры: размеры рамки (rk), битмап, в котором рисуется поле (doskap).
BoardDraw
. Рисует шахматную доску. Передаваемыми параметрами ялвяется: координаты клетки, битмап.
FigDraw
. Рисует фигуры на доске. Передаваемые параметры: координаты фигуры, изображение фигуры.
RamkaDraw
. Рисует рамку вокруг рабочей клетки. Передаваемые параметры: координаты клетки.
CanvasBoardDraw
. Рисует шахматную доску с фигурами на форме. Передаваемые параметры: координаты (x, y), относительно которых начинается прорисовка шахматной доски, канва объекта, на котором необходимо рисовать.
4.2
ANALIZ. В классе содержатся следующие методы
Ocenka
. Оценивает ситуацию на доске (шах, мат, игра продолжается).
CheckPos
. Проверяет наличие "вражеского" короля. Передаваемые параметры координаты короля (x, y).
Analizshod
. Анализирует возможные ходы короля, находящегося под шахом.
CopyPos
. Копирует исходный массив, расстановки фигур.
4.3 RW. В классе содержатся следующие методы
ReadFile
. Считывает координаты расстановки фигур в массив.
WriteFile
. Записывает координаты фигур в массив.
5. Интерфейс приложения
5.1 Внешний вид приложения
При запуске приложения открывается его рабочее окно (рисунок 1).
Рисунок 1 - Окно приложения
Окно приложения содержит:
Кнопки редактирования (Рисунок 2): расставить заново - очистка шахматной доски, удалить фигуру - удаляет фигуру выделенную в синей рамке на доске.
Рисунок 2 - Кнопки редактирования
Кнопка Оценка ситуации (Рисунок 3) - анализирует ситуацию на доске и выводит результат.
Рисунок 3 - Кнопка оценка ситуации
Кнопки расстановки фигур (Рисунок 4) - расставляют фигуры в указанные позиции на доске.
Рисунок 4 - Кнопки расстановки фигур
Главное меню (рисунок 5).
Рисунок 5 - Главное меню
Меню файл.
Выполняет следующие функции:
Загрузить. Открывает файл, считывает координаты фигур и рисует их на доске.
Сохранить программу. Сохраняет в файл координаты фигур.
Выход. Завершает работу приложения.
Меню о программе.
Информация о разработчике.
5.2 Последовательность работы с приложением
Для оценки ситуации на шахматной доске вначале необходимо расставить фигуры, используя соответствующие фигурам кнопки на панели, затем нажать кнопку оценка ситуации.
Для записи положения фигур в файл необходимо выбрать Файл ® Сохранить как. В открывшемся диалоговом окне написать название файла, выбрать путь его сохранения и нажать кнопку "Сохранить".
Для воспроизведения исполняемой программы необходимо выбрать Файл ® Открыть. В открывшемся диалоговом окне выбрать файл с программой и нажать кнопку "Открыть". После этого начнет выполняться программа.
Для очистки шахматной доски от фигур необходимо нажать кнопку расставить заново.
Для удаления единичной фигуры нажать кнопку удалить фигуру.
Для выхода из приложения необходимо выбрать Файл ® Выход
Другие работы по теме:
Михаил Ботвинник
Ботвинник довёл искусство подготовки к шахматным соревнованиям до совершенства. Его исследовательский подход к шахматам лёг в основу современной шахматной школы.
Борис Спасский
10-й в истории Шахмат чемпион мира (1969-72); международный гроссмейстер (1955), заслуженный мастер спорта СССР (1965). Чемпион мира среди юношей (1955). Журналист. С 1976 живёт - во Франции.
Василий Смыслов
Смыслов - автор книг и статей по различным вопросам шахматного искусства. Внёс ценный вклад в теорию испанской партии, славянской защиты, ферзевого гамбита, разработал систему в защите Грюнфельда, носящую его имя.
Макс Эйве
5-й в истории Шахмат чемпион мира (1935-1937), международный гроссмейстер (1950), международный арбитр (1951). Президент ФИДЕ (1970-1978). Шахматный литератор. Доктор математики; преподаватель математики, механики и астрономиию
Хосе Рауль Капабланка
Четырёхлетний Капабланка познакомился с Шахматами, наблюдая за игрой отца. В 13 лет, выиграв матч у X. Корсо -7:6 (+4, -3, =6), стал чемпионом Кубы. Его игру уже тогда отличали тонкое понимание позиции, поразительная быстрота расчёта вариантов.
Александр Алёхин
С шахматами познакомился в 7 лет, серьёзно начал играть в 12 лет. В юности много играл по переписке, что способствовало его шахматному совершенствованию. В "весеннем" турнире московских любителей шахмат (1908) занял 1-е место.
Социально-психологический тренинг
Показана значимость эмоциональной сферы человека и ее влияние в ходе конфликта, характер собственных эмоциональных проблем в конфликтах.
Экспоненциальный рост
Выражение «экспоненциальный рост» вошло в наш лексикон для обозначения быстрого, как правило безудержного увеличения. Оно часто используется, например, при описании стремительного роста числа городов или увеличения численности населения.
Вэйн Шортер
Вэйн Шортер родился 25-го августа 1933 года и впервые взял в руки музыкальный инструмент только в 16 лет. Этим инструментом явился кларнет. Вэйн очень быстро приобретал навыки игры и его страсть к музыке росла с невероятной скоростью.
Шахматы в художественной литературе
«Наша жизнь подобна шахматной игре» – это известное древнее изречение встречается в художественной литературе еще в эпоху Возрождения, например в «Декамероне» Джованни Боккаччо, написанном в середине XIV века.
Льюис Кэрролл. Алиса в Зазеркалье
В этой книге Льюис Кэрролл, большой любитель головоломок, парадоксов и «перевертышей», автор уже ставшей знаменитой «Алисы в Стране Чудес», отправляет свою любимую героиню девочку Алису в другую сказочную страну — Зазеркалье.
Зона 51
Введение 1 Программы исследований в Зоне 51 1.1 Программа U-2 1.2 Программа OXCART 1.3 Программа Have Blue/F-117 1.4 Современные программы 2 Упоминания в популярной культуре
COINTELPRO
КОИНТЕЛПРО unter Intel ligence gram, «контрразведывательная программа») — секретная программа Федерального бюро расследований по подавлению деятельности ряда политических и общественных организаций США. Официально действовала в 1956—1976 годах. В рамках программы сотрудники ФБР прослушивали телефонные переговоры, осуществляли различные провокации, совместно с полицией проводили незаконные аресты, распространяли дезинформацию.
Угандская программа
Введение 1 Введение 2 Отношение сионистского движения 3 Возрождение 1. Введение Угандская программа (British Uganda Programme) — программа, в 1903 году предложенная британским правительством сионистскому движению и предполагавшая создание на территории современной Кении еврейского государства с названием Уганда (но не на территории современного государства с таким названием).
Канцлер казначейства
Введение 1 Роль и ответственность 1.1 Налоговая политика 1.2 Денежная политика 1.3 Официальная резиденция 1.4 Бюджетный портфель 2 Список Канцлеров казначейства с 1559
Палата шахматной доски
Введение 1 Происхождение 2 Палата шахматной доски в Англии 3 Палата шахматной доски в Нормандии 4 Палата шахматной доски в Шотландии Список литературы
Медикэр
» (англ. Medicare) — это одна из федеральных программ медицинского страхования для населения старшего возраста (старше 65 лет) учреждённая в 1965 году в США. С 1972 года программа также обслуживает инвалидов. Она состоит из двух основных частей:
Georgia Sustainment and Stability Operations Program
Georgia Sustainment and Stability Operations Program — программа вооружённых сил США по обучению грузинских вооружённых сил. Программа, реализация которой была начата в 2005 году является продолжением программы Georgia Train and Equip Program 2002—2004 годов. Первый этап программы (SSOP I) продолжался приблизительно 18 месяцев и стоил около 60 млн долларов США.
Программа, которая упорядочивает элементы чётных строк матрицы по возрастанию, а нечётных – по убыванию
2.24. Составить программу, которая упорядочивает элементы чётных строк матрицы по возрастанию, а нечётных – по убыванию. 17. Задан массив {Ai}: 2; 0,4; 3,14; -1,57; 11; 7,34; -2,6; 0; 5; -1. Вычислить массив {Yi}, каждый элемент которого вычисляется по формуле cos(A), и подсчитать количество элементов L из массива {Yi}, попадающих в интервал [0;1].
Решение задачи о 8 ферзях
Методика и основные этапы разработки программы, которая бы наглядно продемонстрировала варианты размещения ферзей на шахматной доске, удовлетворяя правилам задачи. Исследование свойств расстановок мирных ферзей. Написание текста программы и ее листинг.
Допустимость хода шахматной фигуры
Разработка программы в среде Delphi, показывающей на экране возможные варианты выбранной шахматной фигуры для хода. Спецификация исходных данных и функций программы, тексты разработанных классов приложения и их ключевые методы, тестирование программы.
Оператор условия if else
Лабораторная Работа На тему: " Оператор условия else " 1. Назначение и синтаксис Оператор условия if-else служит для выбора направления работы программы в зависимости от условий, сложившихся в данной точке программы на момент ее выполнения.
Эмануил Ласкер
Второй в истории шахмат чемпион мира (1894 - 1921). Шахматный теоретик и литератор. Редактор издаваемого журнала "Ласкер чесс мэгэзин" (1904-1909). Доктор философии и математики.
Роберт Фишер
Биография американского шахматиста Роберта Фишера.
Каспаров Гарри Кимович
Способность преодоления трудностей - одна из главных черт характера Каспарова. Можно вспомнить немало случаев, когда в тяжелейших турнирных и матчевых ситуациях он сумел блестящим финишем догнать или обогнать лидирующих соперников.
Гарри Каспаров
Каспаров Гарри Кимович родился 13.04.1963 в Баку, 13-й в истории шахмат чемпион мира; чемпион мира среди юношей (1980), международный гроссмейстер (1980), заслуженный мастер спорта СССР (1985).