Смекни!
smekni.com

Игровая программа Нарды (стр. 2 из 5)

– для первого игрока:

mas[19,2]+mas[20,2]+mas[21,2]+mas[22,2]+mas[23,2]+mas[24,2]+mas[25,2]=15

– длявторогоигрока:

mas[7,2]+mas[8,2]+mas[9,2]+mas[10,2]+mas[11,2]+mas[12,2]+mas[26,2]=15

Ячейки 25 и 26 не отображаются на игровом поле, они служат «хранилищем» для снятых фишек. Игорок побеждает когда все его фишки окажутся в соответствующем хранилище:

– для первого игрока mas[26]=15;

– для второго игрока mas[25]=15.


1.3 Программное обеспечение

Для разработки программного продукта использовалась среда разработки – Delphi. Delphiпредставляет собой систему программирования. Как любая подобная система, Delphi предназначена для разработки программ и имеет две характерные особенности: создаваемые ею программы могут работать не только под управлением Windows, а сама она относится к классу инструментальных средств ускоренной разработки программ. Визуальное конструирование форм избавляет программиста от многих аспектов разработки интерфейса программы, т.к. Delphi автоматически готовит необходимые программные заготовки и соответствующий файл ресурсов.

В данной разработке использовалась возможность Delphiработать с интернет браузером, которая позволяет использовать при создании программы средства HTML. Основным компонентом разработки является компонент TImage, который позволяет загружать в него графические изображения и отображать их на экране, а также содержит методы позволяющие осуществлять взаимодействие с пользователем. Таким образом при помощи метода OnClickкомпонента TImage организован весь интерфейс программы и управление игровым процессом.

Реализовать программу «Нарды» можно было также средствами:

- С++

- TurboPascal;

- Basic;

- JavaScript.

Но из-за их недостатков выбор был сделан в пользу Delphi.

Язык С++ – сложен и избыточен, имеет синтаксис, провоцирующий ошибки. Помимо того С++ плохо поддерживает модульность, что усложняет выполнение поставленной задачи и модификацию программы в будущем.

Языки TurboPascalи Basicне являются объектно-ориентированными, что усложняет процесс создания приложения. Графические возможности этих языков весьма малы, работа с мультимедиа не поддерживается, возможность создания удобного и привлекательного интерфейса пользователя отсутствует.

При использовании языка JavaScriptвозможно некорректное отображение информации в некоторых веб-браузерах. Требуется постоянная проверка ссылок на файлы при перемещении страниц в другие папки жесткого диска. Также иногда приходится прописывать большой программный код для небольшого раздела.

Помимо среды разработки в процессе программной разработки использовались следующие прикладные средства под управлением WindowsXP:

- AdobePhotoshopCS 3 – мощный графический редактор, предоставляющий широкие возможности по созданию и редактированию изображений. Использовался для создания внешнего вида программы и объектов, скоторыми взаимодействует игрок;

- MicrosoftOfficeFrontPage 2003 – позволяет создавать различные веб-узлы и управлять ими. Использовался для создания теоретической базы, основанной на HTML-документах;

- MicrosoftOfficeWord – текстовый процессор, использовался для оформления пояснительной записки;

- MicrosoftOfficeVisio2007 – система автоматизированного проектирования, использовалась для проектирования схемы работы программы;

- Autoplay menu builder – создание автозапусков;

- NullSoft Install System – созданиеинсталляций.

Для создания игровой программы «Нарды» использовались следующие компоненты среды разработки Delphi:

– Image– обеспесивает вывод на поверхность формы иллюстраций, представленных в *.bmpили *.jpg формате, при помощи этого компонента организовано отображение игровой доски, перемещаемых фишек и генератор ходов (кубики);

– Panel – представляет собой панель, на поверхность которой можно поместить другие компоненты, использовалась для разграничения рабочих областей;

– SpeedButton – представляет собой кнопку с возможностью размещения картинки на ее поверхности;

– ListBox – представляет собой список, в котором можно выбрать нужный элемент, использовался для отображения списка доступных сохраненных игр;

– Edit – представляет собой поле ввода-редактирования строки/символа, использовалось для ввода имени сохраняемой игры.


1.4 Состав и параметры технических и программных средств

Минимальный набор технических средств (Таблица 2.1) подобран для операционной системы Windows_XP. Для её нормальной работы на жёстком диске необходимо 300_Мб свободного пространства. Для программного продукта необходимо 20 Мб свободного дискового пространства и 256 Мб ОЗУ, потому что в программе содержится большое количество графических изображений. Так как в программе присутствует графические файлы, ей необходима видеокарта с размером ОЗУ 32 Мб. Главная форма имеет размер 810 пикселей на 535 пикселей, поэтому необходим монитор, поддерживающий разрешение 1024х768.

Таблица 1.1 - Минимальный состав технических средств

Наименование Конфигурация
Процессор IntelPentiumIII850 МГц
Оперативная память DIMM256 Мб
Видеокарта SVGA 32 Мб
Жесткий диск 40 Гб
Монитор 17”
Клавиатура стандартная 101/102
Манипулятор «мышь» стандартный PS/2

Оптимальный набор технических средств (Таблица 2.2) подобран для ОС Windows_ХР. Рекомендуемые требования являются оптимальным вариантом для работы с программой, ее модернизации и создания.

Для работы программы необходим процессор IntelPentiumIV1500 Мгц, оперативная память - 512 Мб. Видеокарта с объемом ОЗУ 64 Мб и монитор 17” необходимы для просмотра графической информации. Рекомендуемое разрешение экрана – 1152х864. 3 Гб свободного дискового пространства для самой операционной системы и промежуточных файлов во время работы программы. Для модификации программы необходима среда разработки BorlandDelphi 7.

Таблица 1.2 - Оптимальный состав технических средств

Наименование Конфигурация
Процессор IntelPentiumIV 1500 МГц
Оперативная память DDRII512 Мб
Видеокарта PCIexpress64 Мб
Жесткий диск 40 Гб
Монитор 17”
Клавиатура стандартная 101/102
Манипулятор «мышь» стандартный PS/2

Игровая программа «Нарды» работает под управлением операционной системы WindowsXP/Vista. Для работы программы не требуется установка дополнительного программного обеспечения.

Для модификации программы необходимо наличие:

– среды разработки Delphi 7 для перекомпиляции проекта;

– графического редактора для редактирования используемых в программе изображений;

– MSFrontPage 2003 для редактирования используемых в программе HTML-документов.


2Специальная часть

2.1 Описание алгоритмов

Основными алгоритмами программы являются:

– механизм слежения за соблюдением правил игры;

– механизм реализации игрового процесса;

– механизм отображения игрового процесса;

– механизм сохранения и загрузки результатов игры.

Механизм слежения за соблюдением правил игры срабатывает в момент «броска » кубиков, он определяет все возможные ходы игрока и блокирует невозможные (процедуры ablemoveи doublebones). Процедуры ablemoveи doublebonesвиртуально совершают все возможные ходы, если какой-либо ход невозможен – он блокируется. Процедура ablemoveиспользуется в случае, когда значения, выпавшие на кубиках, неравны, в противном случае используется процедура doublebones. Эти процедуры отличаются циклом проверки доступности хода: doublebonesпроверяет только текущий ход, ablemoveпроверяет текущий ход и его влияние на дальнейшие варианты ходов. Игрок должен совершить максимальное количество ходов, программа не позволяет завершить ход, пока существуют возможные варианты хода. Это осуществляется при помощи массива bones, в который заносятся значения выпавшие на кубиках, после совершения хода соответствующее значение массива обнуляется. Ход может быть завершен только тогда, когда все элементы массива равны нулю.

Процедура variants следит непосредственно за совершением хода, не позволяя игроку «поставить» свою фишку в недоступную клетку. Эта процедура использует процедуру arrow, которая при выборе фишки подсвечивает ее возможные перемещения.

Механизм реализации игрового процесса основан на двумерном массиве mas[26,2]. Первая строка массива содержит информацию о том, каким игроком занята клетка (элементы 1 – 24 соответствуют номерам клеток на игровом поле, элементы 25 и 26 – «дом» первого и второго игроков соответственно) и принимает значения: «1» – первый игрок, «2» – второй игрок, «0» – клетка свободна. Вторая строка массива содержит информацию о количестве фишек в клетке. С массивом mas работает процедура move, она определяет номер клетки выбранной фишки и номер клетки, в которую этав фишка будет помещена. Затем в соответствии с этими данными происходит изменение значений в массиве mas, а также обнуляется соответствующее значение массива bones.

Механизм отображения игрового процесса обеспечивается процедурами visibleи redraw, которые вызываются сразу после выполнения процедуры move. Процедура visible скрывает все элементы игрового поля, после чего выполняется процедура redraw. Она считывает значения массива mas и в соответствии с полученными данными изменяет элементы игрового поля (загружает необходимые изображения) и «показывает» их игроку.

Механизм сохранения и загрузки обеспечивается в модулях saveи load. Saveоткрывает форму, предлагающую пользователю ввести имя сохранения, после чего по нажатию кнопки «Сохранить» считывает значения всех переменных и массивов, используемых в программе, в файл с расширением *.SAV. Loadсчитывает из папки saves в каталоге программы все файлы с расширением *.SAV, после чего отображает форму, предлагающую игроку выбрать ранее сохраненную игру из списка. По нажатии кнопки «Загрузить» данные из файла сохранения переносятся в соответствующие переменные, используемые в программе, и вызываются процедуры механизма отображения игрового процесса.