Разработка программы игры в "Кости"

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

разработки, в которой в качестве языка программирования используется строго типизированный объектно-ориентированный язык Delphi, в основе которого лежит Object Pascal.
Система Delphi позволяет писать как крохотные программы и утилиты для персонального использования, так и корпоративные системы, работающие с базами данных на разных платформах, Интернет-решения и коммерческие игры, распределенный COM/CORBA/SOAP-приложения и всевозможные Web-службы. При этом обеспечивается совместимость приложений при выходе новых версий Delphi - как друг с другом на уровне исходных текстов, так и с модифицированными версиями стандартных протоколов и технологий благодаря библиотеке независимых и легко настраиваемых компонентов.

 

1. Разработка эскизного и технического проектов программы

 

В данной курсовой работе необходимо разработать развлекательную программу, представляющую собой игру. Область применения: досуг программиста. Поскольку ставится задача разработать приложение для Windows, то использоваться программа может только под управлением Windows 9х и выше.

Технические характеристики

Постановка задачи

Заданием на программу является разработка Windows - приложения, представляющего собой компьютерную игру Кости.

Правила игры: играющий называет любое число в диапазоне от 2 до 12 и ставку, которую он делает в этот ход. Программа с помощью датчика случайных чисел дважды выбирает числа от 1 до 6 (бросает кубик, на гранях которого цифры от 1 до 6).

Если сумма выпавших цифр меньше 7 и играющий задумал число меньшее 7, он выигрывает сделанную ставку.

Если сумма выпавших цифр больше 7 и играющий задумал число большее 7, он также выигрывает сделанную ставку.

Если играющий угадал сумму цифр, он получает в четыре раза больше очков, чем сделанная ставка.

Ставка проиграна, если не имеет место ни одна из описанных ситуаций.

В начальный момент у играющего 100 очков.

Дополнительным требованием к данной программе является необходимость вывода граней кубиков на экран.

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

Для реализации игры необходимо разработать алгоритм работы программы. В данной работе алгоритм заключается в организации пользовательского интерфейса, позволяющего вводить ставку и число на которое ставится. Затем пользователь нажимает кнопку "Бросить". Здесь необходимо имитировать вращение кубиков с их последующей остановкой. После чего необходимо подсчитать количество очков.

Для вывода граней кубиков их сначала необходимо нарисовать в графическом редакторе. На рисунке 1 представлены нарисованные грани.

 

Рисунок 1 - грани кубиков.

 

Следует обратить внимание на то что объемность граней достигается двумя путями:

) нарисованные изображения имеют сложную цветовую насыщенность, за счет чего создается впечатление объемности;

) углы каждой грани закрашены цветом (черным), который в программе будет интерпретироваться как прозрачный.

Организация входных и выходных данных.

Входных данных у программы нет.

Выходными данными является совокупность отображаемой информации на экране персонального компьютера.

Выбор состава технических и программных средств.

Программа занимает 1 мб. жесткого диска. Программа функционирует под ОС Win95 и выше. Разрешение экрана не менее 800*600@256. Обязателен манипулятор типа Мышь.

Источники, использованные при разработке

При разработке использовалась литература по программированию, а также анализ характеристик программ - аналогов.

Разработка программы

Для разработки приложения игры Кости используется среда визуального программирования Delphi. Проект программы содержит три окна:

. Form1 - главное окно программы.

. FrmRules- окно, содержащее правила игры.

. AboutBox- окно, содержащее информацию о программе.

 

Окно Form1.

 

Для организации меню используется компонент tMainMenu. Текущий счет игры выводится в компонент tLabel. На панели (tPanel) находятся два поля ввода tSpinEdit, позволяющие вводить целые числа в нужном диапазоне. Кнопка "Бросить" (tBitBtn) запускает процесс игровой сессии.

Компонент tImageList представляет собой хранилище графических изображений одного размера. Кроме того, данный компонент инкапсулирует в себе набор методов по обработке графической информации. Например, в нем можно указать цвет, который будет считаться прозрачным при отображении.

Окно FrmRules

 

В данном окне находятся два компонента: tBitBtn и tRichEdit. TRichEdit позволяет хранить в себе текстовую информацию с форматированием.

 

Окно AboutBox

 

Данное окно является стандартным для Delphi и взято из депозитария.

 

В программе кроме сервисных функций только одна процедура. Она вызывается по нажатию кнопки "Бросить"

В начале процедуры проверяется допустимость введенных значений ставки и числа на которое пользователь поставил. Если хотя бы одно из чисел имеет недопустимое значение, то пользователю выдается соответствующее сообщение и процедура заканчивает свою работу.

Далее происходит цикл вращения кубиков. В этом цикле случайным образом выбираются два числа в диапазоне от 0 до 5, соответствующих индексам картинок граней. Затем вызывается процедура перерисовки экрана, в которой на форму выводится соответствующие грани. После окончания цикла вращения происходит суммирование очков на обоих кубиках. После чего это число сравнивается со ставкой пользователя. В конце процедуры в зависимости от того выиграл он или нет и