Реферат: Игра Кости

Задание на курсовую работу

«Алгоритмические языки и программирование»

Студент группы: ОИН - 309 - 11

Вася Пупкин.

Направление: «Информатика», № контракта: 55535356595954584

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

Условие задачи:

Разработать программу, моделирующую игру «Кости». Играющий называет любое число в диапазоне от 2 до 12 и ставку, которую он делает в этот ход. Программа с помощью датчика случайных чисел дважды выбирает числа от 1 до 6 (“бросает кубик”, на гранях которого цифры от 1 до 6). Если сумма выпавших цифр меньше 7 и играющий задумал число меньшее 7, он выигрывает сделанную ставку. Если сумма выпавших цифр больше 7 и играющий задумал число большее 7, он также выигрывает сделанную ставку. Если играющий угадал сумму цифр, он получает в четыре раза больше очков, чем сделанная ставка. Ставка проиграна, если не имеет место ни одна из описанных ситуаций. В начальный момент у играющего 100 очков. В программе должно присутствовать графическое изображение поверхности кубика при каждом ходе игрока.

Задание выдано __________________

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

1.1. Назначение и область применения.

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

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

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

В условии задачи указывается на необходимость использования датчика случайных чисел. Программа дважды («бросает кости») генерирует число от 1 до 6. Для этого используется генератор случайных чисел – процедура Randomize, и функция random(6). Переменная, отвечающая за выпавшее число, после присваивания ей функции “random(6)” будет в диапазоне от 0 до 5, поэтому к ней необходимо прибавить единицу. Например: а:=random(6)+1; (1<a<6).Необходимо отметить, что если в тексте программы перед использованием выше указанной функции не прописать: Randomize; (не «включить» генератор случайных чисел) значения функции random(6) будут повторяться каждый раз при запуске программы.

Следующим условием является вывод графического изображения поверхности кубика при каждом ходе игрока. Для решения этой задачи с помощью встроенной в Delphi 5.0 программы “Image Editor” был создан файл ресурсов «к.res». Файл ресурсов к.res содержит восемь рисунков (восемь растровых изображений – Bitmap), два из которых используются для красивого оформления приложения. Остальные отображают грани кубика. В программе объявлены переменные типа TBitmap.В них, с помощью метода LoadFromResourceName загружаются изображения из файла ресурсов. Далее эти переменные изображаются на компонентах – Image. Метод LoadFromResourceName имеет два параметра идентификатор программы и имя ресурса. В качестве идентификатора программы используется глобальная переменная Hinstance, имя ресурса должно быть представлено в виде строковой константы. Для того чтобы ресурсы были доступны программе необходимо в текст программы добавить директиву компилятору {$R k.res}. Эта строка помещается в начале текста модуля. При разработке приложений Delphi так же создаёт файл ресурсов, который содержит картинку исполняемого файла.

Следующим условием задачи является, определение выигрыша или проигрыша ставки. Для этого применена конструкция ifelse . В данной задаче выигрыш ставки соответствует условиям:

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

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

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

При выполнении данного проекта условие задачи было дополнено.

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

Во-вторых, в процессе игры (перед выводом графического изображения поверхности кубика) выводится движущееся изображение кубика. Благодаря чему у играющего создаётся впечатление, что он видит брошенные кости (движущиеся кости). Для этого с помощью программы Macromedia Flash MX PRO 2004 7.0 1 были созданы AVI-файлы. При воспроизведении этих файлов можно наблюдать, как меняется изображение поверхности кубика – эффект “брошенных костей”. При запуске, приложение запрашивает путь к AVI-файлам (прилагаются к проекту). В дальнейшем, после нажатия кнопки «Играть» (после броска кубиков), эти AVI-файлы проигрываются, после чего выводится изображение кубика (кости “остановились”). Для воспроизведения используются компоненты – MediaPlayer. Экранами для воспроизведения служат компоненты – Panel. Компоненты Panel и Image(компонент для вывода изображений) расположены в одном месте и в зависимости от действия программы (воспроизведение или вывод изображений) поочерёдно становятся видимыми – невидимыми. Это происходит так: игрок (после ввода числа и ставки) нажимает кнопку «Играть» компонент Image становится невидимым компонент Panel – видимым, воспроизводятся AVI-файлы, затем компонент Panel становится невидимым компонент Image – видимым, выводятся изображения кубиков.

В проекте использованы приемы, сопутствующие дружелюбному интерфейсу.

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

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

Ввод пути к AVI-файлам и проверка правильности ввода. (Рис.2.)

Ввод числа и ставки, проверка правильности ввода. Генерация случайных чисел. Воспроизведение AVI-файлов и вывод графических изображений. (Рис.3.)

Определение проигрыша или выигрыша ставки. (Рис.4.)

К-во Просмотров: 1108
Бесплатно скачать Реферат: Игра Кости