Автор работы: Пользователь скрыл имя, 21 Января 2014 в 16:18, дипломная работа
Цель дипломной работы: моделирование аналогов популярной игры шашки.
Одним из разделов компьютерного моделирования, являются компьютерные игры, зависящие от случайности и стратегических правил игры.
Актуальность темы на сегодняшний день: тема как никогда актуальна, за счет достаточно высокой конкуренции на рынке подобных приложений и программ. Многие подобные разработки, нацелены на игру «компьютер – человек», и искусственный интеллект в редких случаях, обыгрывает даже чемпионов.
Введение…………………………………………………………………………..2Терминология…………………………………………………………………….4
Аналитический обзор
I. Шашки.
История шашечной игры……………………………………………………..8
Классификация……………………………………………………………....10
Варианты шашек……………………………………………………...…......10
Шашки как вид спорта....................................................................................15
II. Среда программирования Delphi.
2.1 Краткое определение Delphi…………………………………………...……16
2.2 Целевая платформа…………………………………………………………..16
2.3 История языка………………………………………………………………..16
2.4 Синтаксис языка……………………………………………………………..20
2.5 Объектно-ориентированные особенности языка…………………………..21
2.6 Примеры……………………………………………………………………..21
2.7 Расширения файлов………………………………………………………….23
Глава III Практическая часть.
Работа в среде Delphi, написание программы «Шашки»
3.1 Проект, его местоположение………………………………………………..24
3.2 Запуск программы с компакт диска………..……………………………….25
3.3 Исходный код программы…………………………………………………..27
Заключение…………………………………………………………………..….45
Список литературы………………………………………………………….…46
1.2 Классификация
Возможны различные
Шашки так же разделяют по следующим признакам:
По размерам доски — 12×12 (канадские), 10×10 (международные), 8×8 (подавляющее большинство вариантов шашек), 10×8 (80-клеточные).
По особенностям правил игры:
1.3 разновидность игр в шашки
Русские шашки
Используется доска 8×8 клеток. У каждого игрока в начальной позиции по 12 фишек — так называемых простых шашек, которые занимают первые три ряда с каждой стороны. В ходе игры шашки движутся по чёрным полям, они могут вставать только на незанятые поля. Простая шашка может ходить по диагонали вперёд на одну клетку, бить вперед или назад (при этом шашка движется по диагонали на две клетки, перепрыгивая через шашку или дамку соперника, которая снимается с доски; если из нового положения бьющей шашки можно побить другую шашку соперника, ход продолжается, и т. д.).
При достижении дамочного
поля (любого поля последней горизонтали)
или при бое через дамочное
поле простая шашка превращается
в дамку и продолжает бой по
правилам дамки (теперь она может
ходить на любое число полей по
диагонали в любом направлении)
В последнее время соревнования по русским шашкам проводятся по двум вариантам: классические русские шашки и т. н. турниры с выборочным жребием. Второй вариант предполагает наличие официально утверждённого списка начальных двух-трёх ходов (существует также вариант «летающие» шашки, в котором по одной шашке у каждой стороны в начальной позиции занимают какое-либо иное положение).
Международные шашки
Игра наиболее популярна в Европе. Используется доска 10×10 клеток. У каждого игрока в начальной позиции по 20 шашек, которые занимают первые четыре ряда с каждой стороны, «простая» шашка может бить вперёд и назад, дамка может ходить и бить на любое число полей. «Простая» превращается в дамку только тогда, когда она заканчивает свой ход на поле превращения. При бое «простой» через поле превращения она не превращается и продолжает бой как простая. Если после поля превращения «простая» может бить только как дамка, она остаётся на поле превращения и может продолжать бить как дамка только со следующего хода. Также как и в русских шашках существует правило «турецкого удара». При возможности нескольких вариантов взятия полагается бить максимально возможное количество шашек. Цель игры, как и в русских шашках, — съесть или запереть все шашки противника.
Армянские шашки
Игра ведётся на стандартной
64-клеточной доске, но шашки ходят
и бьют не по диагоналям, а по вертикалям
и горизонталям, взятие назад для
простой шашки запрещено. Ещё
одна их особенность — наличие
«джентльменских правил» —
Бразильские шашки
Правила аналогичны международным шашкам, но игра ведётся на доске 8×8, по 12 шашек с каждой стороны.
Канадские шашки
В канадские шашки играют на доске 12×12, по 24 шашки с каждой стороны. В остальном правила аналогичны международным шашкам.
Английские шашки (чекерс)
Английские шашки
Английские или американские шашки, или чекерс (англ. Checkers). Доска 8×8, в начальной позиции у каждого игрока по 12 шашек, расположенных в первых трёх рядах на чёрных клетках. Первый ход делают чёрные. «Простые» шашки могут ходить по диагонали на одну клетку вперёд и бить только вперёд, дамка может ходить на одну клетку по диагонали вперёд и назад и бить через одну клетку в любую сторону. Бить обязательно, если есть несколько путей, игрок может выбрать любой, не обязательно самый длинный, но пройти его до конца.
В 2007 году Джонатан Шеффер доказал, что существует беспроигрышный
алгоритм (см. программа Chinook), следуя которому игрок может
рассчитывать минимум на ничью в английских
шашках, вне зависимости от того, каким
цветом он играет.[1] Являясь беспроигрышным, данный
алгоритм тем не менее не является оптимальным[источник не
Пул (Pool Checkers)
Популярный в США вариант игры. Правила аналогичны международным шашкам, но игра ведётся на доске 8×8, по 12 шашек с каждой стороны. Ещё одно отличие — не требуется бить максимальное количество шашек.
Итальянские шашки
В итальянские шашки играют на шахматной доске размером 8×8 клеток, которая повернута на 90 градусов по сравнению со стандартной. Шашки игроков занимают первые три ряда с каждой стороны, располагаясь на белых полях. Правила игры в итальянские шашки похожи на правила игры чекерс, но имеют некоторые отличия:
Испанские шашки
Правила подобны бразильским шашкам, но доска повёрнута на 90 градусов по сравнению со стандартной. Шашки игроков занимают первые три ряда с каждой стороны, располагаясь на белых полях. Ещё одно отличие — простые шашки не могут бить назад.
Поддавки (обратные шашки)
Правила игры в поддавки (здесь также существуют варианты 8×8 и 10×10) аналогичны правилам в соответствующие русские и международные шашки, однако цель игры — поддать или запереть все свои шашки.
Шашки-самоеды
Играются на доске 8×8. В отличие от русских шашек, каждый из игроков может (и обязан при возможности, то есть, с самого начала игры) бить как шашки противника, так и свои шашки (взятие всегда производится своей шашкой). Можно бить несколько шашек обоих цветов за один ход. В принципе, возможна игра на доске 10×10, но без правила обязательного взятия большинства.
Столбовые шашки
Старинный русский вариант, где побитая простая шашка не снимается с поля, а ставится под побившую её башню.
Ставропольские шашки
По сравнению с русскими шашками добавлено лишь одно новое правило, резко усложнившее характер борьбы: в ставропольских шашках любой из игроков вместо хода своей шашкой всегда может сделать ход за противника. Так, начиная игру, белые имеют право играть чёрной шашкой. Двигать чужие простые шашки можно только в свою сторону и брать ими следует только свои шашки. Взятие обязательно.
Диагональные шашки
Правила аналогичны правилам в русские шашки, но начальная расстановка — иная (большая диагональ свободна, сверху и слева от нее все клетки заняты черными шашками, снизу и справа — белыми).
80-клеточные шашки
Доска прямоугольная 10×8, то есть у белых и черных — по 15 простых. Правила аналогичны правилам в русские шашки.
Особенность — 3 дамки всегда выигрывают у одной дамки соперника, независимо от расположения.
Были предложены в середине 1960-гг. советским мастером, харьковчанином Николаем Петровичем Спанцирети. Особого распространения не получили. В середине 1980-х гг. в рижском журнале «Шашки» была опубликована статья о данной разновидности шашек.
1.4 Шашки, как вид спорта
В настоящее время спортивные соревнования проводят следующие организации по следующим шашечным системам игры:
Чемпионы мира по шашкам определяются с XIX века, официальный статус с 1948 года имеют чемпи
Глава II. Среда программирования Delphi.
2.1 Краткое определение Delphi.
Delphi— императивный, структурированный, объектно-ориентированный язык программирования, диалект Object Pascal.
Начиная со среды разработки Delphi 7.0, в официальных документах Borland стала использовать название Delphi для обозначения языка Object Pascal.
Начиная с 2007 года уже язык Delphi (производный от Object Pascal) начал жить своей самостоятельной жизнью и претерпевал различные изменения, связанные с современными тенденциями (например, с развитием платформы .NET) развития языков программирования: появились class helpers, перегрузки операторов и другое.
Изначально среда разработки была
предназначена исключительно
Реализация среды разработки проектом Lazarus (Free Pascal, компиляция в режиме совместимости с Delphi) позволяет использовать его для создания приложений на Delphi для таких платформ, как Linux, Mac OS X и Windows CE.
Также предпринимались попытки использования языка в проектах GNU (например, Notepad GNU) и написания компилятора для GCC.
Object Pascal — результат развития языка Турбо Паскаль, который, в свою очередь, развился из языка Паскаль. Паскаль был полностью процедурным языком, Турбо Паскаль, начиная с версии 5.5, добавил в Паскаль объектно-ориентированные свойства, а в Object Pascal — динамическую идентификацию типа данных, с возможностью доступа к метаданным классов (то есть к описанию классов и их членов) в компилируемом коде, также называемом интроспекцией — данная технология получила обозначение RTTI. Так как все классы наследуют функции базового класса TObject, то любой указатель на объект можно преобразовать к нему, после чего воспользоваться методом ClassType и функцией TypeInfo, которые и обеспечат интроспекцию.
Также отличительным свойством Object Pascal от С++ является то, что объекты по умолчанию располагаются в динамической памяти. Однако можно переопределить виртуальные методы NewInstance и FreeInstance класса TObject. Таким образом, абсолютно любой класс может осуществить «желание» «где хочу — там и буду лежать». Соответственно организуется и «многокучность».
Object Pascal (Delphi) является результатом функционального расширения Turbo Pascal.
Delphi оказал огромное влияние на создание концепции языка C# для платформы .NET. Многие его элементы и концептуальные решения вошли в состав С#. Одной из причин называют переход Андерса Хейлсберга, одного из ведущих разработчиков Дельфи, из компании Borland Ltd. в Microsoft Corp.
Delphi for .NET — среда разработки Delphi, а также язык Delphi (Object Pascal), ориентированные на разработку приложений для .NET.
Первая версия полноценной среды разработки Delphi для .NET — Delphi 8. Она позволяла писать приложения только для .NET. Delphi 2006 поддерживает технологию MDA с помощью ECO (Enterprise Core Objects) версии 3.0.
В марте 2006 года компания Borland приняла решение о прекращении дальнейшего совершенствования интегрированных сред разработки JBuilder, Delphi и C++ Builder по причине убыточности этого направления. Планировалась продажа IDE-сектора компании. Группа сторонников свободного программного обеспечения организовала сбор средств для покупки у Borland прав на среду разработки и компилятор[5].
Информация о работе Создание модели игры «Шашки» в среде программирования Delphi