Автор работы: Пользователь скрыл имя, 28 Января 2011 в 12:02, курсовая работа
Задачей курсового проектирования ставится разработка игровой программы «Нарды», которая является виртуальным аналогом настольной игры. Перенос реальной игры на виртуальную основу имеет ряд преимуществ:
– позволяет немедленно приступить к игре без каких либо действий по ее подготовке;
– исключает возможность жульничества во время игры;
– исключает возможность случайных нарушений правил игры в связи с их незнанием;
– позволяет сохранять текущие результаты игры и продолжать партию в другое время.
Введение 2
1 Общая часть 4
1.1 Постановка задачи 4
1.2 Технико-математическое описание 6
1.3 Программное обеспечение 9
1.4 Состав и параметры технических и программных средств 12
2 Специальная часть 14
2.1 Описание алгоритмов 14
2.2 Описание работы программы 16
2.3 Инструкция по выполнению программы 18
2.4 Тестирование и отладка 22
2.5 Контрольный пример 24
Заключение 28
Список литературы 30
Приложение А. Текст программы 31
При использовании языка JavaScript возможно некорректное отображение информации в некоторых веб-браузерах. Требуется постоянная проверка ссылок на файлы при перемещении страниц в другие папки жесткого диска. Также иногда приходится прописывать большой программный код для небольшого раздела.
Помимо среды разработки в процессе программной разработки использовались следующие прикладные средства под управлением Windows XP:
Для создания игровой программы «Нарды» использовались следующие компоненты среды разработки Delphi:
Минимальный набор технических средств (Таблица 2.1) подобран для операционной системы Windows_XP. Для её нормальной работы на жёстком диске необходимо 300_Мб свободного пространства. Для программного продукта необходимо 20 Мб свободного дискового пространства и 256 Мб ОЗУ, потому что в программе содержится большое количество графических изображений. Так как в программе присутствует графические файлы, ей необходима видеокарта с размером ОЗУ 32 Мб. Главная форма имеет размер 810 пикселей на 535 пикселей, поэтому необходим монитор, поддерживающий разрешение 1024х768.
Таблица 1.1 - Минимальный состав технических средств
Наименование | Конфигурация |
Процессор | Intel Pentium III 850 МГц |
Оперативная память | DIMM 256 Мб |
Видеокарта | SVGA 32 Мб |
Жесткий диск | 40 Гб |
Монитор | 17” |
Клавиатура | стандартная 101/102 |
Манипулятор «мышь» | стандартный PS/2 |
Оптимальный набор технических средств (Таблица 2.2) подобран для ОС Windows_ХР. Рекомендуемые требования являются оптимальным вариантом для работы с программой, ее модернизации и создания.
Для работы программы необходим процессор Intel Pentium IV 1500 Мгц, оперативная память - 512 Мб. Видеокарта с объемом ОЗУ 64 Мб и монитор 17” необходимы для просмотра графической информации. Рекомендуемое разрешение экрана – 1152х864. 3 Гб свободного дискового пространства для самой операционной системы и промежуточных файлов во время работы программы. Для модификации программы необходима среда разработки Borland Delphi 7.
Таблица 1.2 - Оптимальный состав технических средств
Наименование | Конфигурация |
Процессор | Intel Pentium IV 1500 МГц |
Оперативная память | DDR II 512 Мб |
Видеокарта | PCI express 64 Мб |
Жесткий диск | 40 Гб |
Монитор | 17” |
Клавиатура | стандартная 101/102 |
Манипулятор «мышь» | стандартный PS/2 |
Игровая программа «Нарды» работает под управлением операционной системы Windows XP/Vista. Для работы программы не требуется установка дополнительного программного обеспечения.
Для
модификации программы
– среды разработки Delphi 7 для перекомпиляции проекта;
– графического редактора для редактирования используемых в программе изображений;
– MS FrontPage 2003 для редактирования используемых в программе HTML-документов.
2 Специальная часть
Основными алгоритмами программы являются:
– механизм слежения за соблюдением правил игры;
– механизм реализации игрового процесса;
– механизм отображения игрового процесса;
– механизм сохранения и загрузки результатов игры.
Механизм слежения за соблюдением правил игры срабатывает в момент «броска » кубиков, он определяет все возможные ходы игрока и блокирует невозможные (процедуры 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.
Программа содержит семь модулей:
– main содержит в себе главную форму, на которой расположены все визуальные элементы программы, и вызов всех остальных модулей программы;
– game содержит в себе процедуры, связанные с обработкой игрового процесса;
– draw содержит в себе процедуры, отображающие игровой процесс на экране при помощи визуальных элементов главной формы;
– save содержит в себе форму, предоставляющую пользователю возможность сохранить результаты игры;
– load содержит в себе форму, предоставляющую пользователю список всех ранее сохраненных игр;
– help содержит форму, которая отображает HTML-документ, содержащий правила игры;
– about содержит форму, которая отображает информацию о программе и разработчиках;
– exit содержит форму, запрашивающую подтверждение на выход из программы.
Таблица 2.1 – Модули программы
Наименование модуля | Функциональное назначение | Компоненты взаимодействия | ||
вызывающие | вызываемые | |||
main.pas | Модуль главной формы | - | game.pas, load.pas, save.pas, help.pas, about.pas | |
game.pas | Модуль игровых рассчетов | main.pas | draw.pas | |
draw.pas | Модуль отображения игрового процесса на главной форме | game.pas, load.pas | - | |
Наименование модуля | Функциональное назначение | Компоненты взаимодействия | ||
вызывающие | вызываемые | |||
save.pas | Модуль сохранения данных | main.pas | - | |
load.pas | Модуль загрузки данных | main.pas | draw.pas | |
help.pas | Модуль справки | main.pas | - | |
about.pas | Модуль информации о программе и разработчике | |||
exit.pas | Модуль подтверждения выхода | main.pas |
Рисунок
1 – Главная форма.
Рисунок 2- Форма загрузки игры
Рисунок 3 – Генерация ходов.
Рисунок 4 – Сообщение о победе.
Рисунок
5 – Форма сохранения игры.