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

Автор: Пользователь скрыл имя, 05 Декабря 2011 в 21:59, дипломная работа

Краткое описание

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

Оглавление

ВВЕДЕНИЕ
ОСНОВНАЯ ЧАСТЬ
1 РАЗРАБОТКА ЭСКИЗНОГО И ТЕХНИЧЕСКОГО ПРОЕКТОВ ПРОГРАММЫ
1.1.Назначение и область применения
1.2.Технические характеристики
1.2.1. Постановка задачи
1.2.2. Описание алгоритма
1.2.3. Организация входных и выходных данных
1.2.4. Выбор состава технических и программных средств
2 РАЗРАБОТКА РАБОЧЕГО ПРОЕКТА
2.1 Разработка рабочего проекта
2.2 Написание программы
2.3 Текст программы
2.4 Тестирование программы
ЗАКЛЮЧЕНИЕ
ГЛОССАРИЙ
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
ПРИЛОЖЕНИЯ

Файлы: 1 файл

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

— 207.50 Кб (Скачать)

     Основные данные о работе

Версия  шаблона 2.1
Филиал Смоленский
Вид работы Курсовая работа
Название  дисциплины Программирование  на языке высокого уровня
Тема Разработка  приложения для Windows, представляющего  собой компьютерную игру «Кости»
Фамилия студента Очаков
Имя студента Евгений
Отчество  студента Сергеевич
№ контракта 07000080602022

     Содержание

     ВВЕДЕНИЕ

     ОСНОВНАЯ  ЧАСТЬ

     1 РАЗРАБОТКА ЭСКИЗНОГО И ТЕХНИЧЕСКОГО  ПРОЕКТОВ ПРОГРАММЫ

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

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

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

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

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

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

     2 РАЗРАБОТКА РАБОЧЕГО ПРОЕКТА

     2.1 Разработка рабочего проекта

     2.2 Написание программы

     2.3 Текст программы

     2.4 Тестирование программы

     ЗАКЛЮЧЕНИЕ

     ГЛОССАРИЙ

     СПИСОК  ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

     ПРИЛОЖЕНИЯ

     Введение

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

     Основная  часть

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

     Стандарт ГОСТ 19.404-79  устанавливает основные требования к содержанию и оформлению программного документа «Пояснительная записка», входящего в состав документов на стадиях разработки эскизного и технического проектов программы. 

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

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

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

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

     В условии задачи игры «Кости» указывается  на необходимость использования датчика случайных чисел, с помощью которого программа дважды выбирает число от 1 до 6. Два случайно выбранных числа представляют собой выпавшие значения на гранях «брошенных» кубиках. Для хранения этих значений организуем массив, состоящий из двух элементов целого типа, который и будет представлять собой кубики. Также необходимо использовать переменную, которая содержит текущий кредит игрока (количество набранных очков). Какое количество очков поставил на ход игрок, а также, на какое число была сделана ставка, будет храниться в полях на форме игры. После выпадения случайных чисел значения элементов массива складываются и сравниваются с числом, на которое игрок сделал ставка. Далее произойдет увеличение или уменьшение кредита игрока, зависящее от условия игры.

     В условии задачи игры также указывается  на необходимость графического вывода поверхностей кубиков. Это реализуется  таким образом. Все возможные  поверхности кубика будут храниться  в одной картинке последовательно (все грани кубика располагаются в ряд). Затем после заполнения массива, представляющего собой выпавшие значения кубиков, будут копироваться две грани кубиков из общей картинки. Координаты для копирования граней кубиков зависят от значений элементов массива. Формула для подсчета начала координат копирования грани кубика выглядит таким образом:

     (ZnachKub – 1) * WidthKub , где

     ZnachKub – случайно выпавшее значение  первого кубика от 1 до 6;

     WidthKub – ширина грани кубика.

     Таким образом если ширина грани кубика будет равна 60 точек и картинка хранящая грани кубика тогда будет состоять из 6 возможных граней по 60 точек каждая – 360 точек (в программе используется такое значение), а случайно выбранное значение кубика будет равно 2, то скопируется область картинки с координатами: (60, 0, 120, 60) - (x, y, x + ширина, высота). Высота и ширина грани равна 60. Начало области копирования вычислили по представленной формуле: (2-1) * 60 = 60, т. е. вторая грань кубика на которой значение 2. Те же операции повторим и для второго кубика.

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

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

     После того как сделана ставка, выбрано  число, на которое игрок сделал ставку и нажата кнопка «Ход», включается таймер. Когда программа обрабатывает событие таймера, увеличивается счетчик, который фиксирует количество заходов программы в процедуру обработки этого события, при этом каждый раз выбираются два случайных числа, которые определяют картинки граней кубиков и осуществляется вывод этих граней. Если счетчик доходит до установленного значения максимума, то происходит окончательный выбор двух случайных чисел и определяется выигрыш игрока. Обобщенная блок-схема алгоритма хода представлена на рисунке 1. Рис.

     

     1 Блок-схема алгоритма хода игрока

     При создании новых игроков, удалении их из общего списка, а также при  выборе игрока и сохранении информации о текущем игроке происходит перезапись файла, хранящего эту информацию, следующим образом. Создается временный файл, в который будет записана старая и новая информация, затем созданный файл копируется в старый, тем самым как бы обновляя его, и временный файл удаляется. Такой алгоритм реализован в каждой процедуре изменяющей информацию об игроках. Блок-схема алгоритма представлена на рисунке 2.

     

     Рис. 2 Блок-схема алгоритма сохранения информации об игроках

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

     Входными данными являются: информация о том, на какое число была сделана ставка, а также сумма, поставленная на это число. Входными данными также является информация о том, какой игрок выбран из списка игроков. Это влияет на установку текущего кредита и на значения, отображающие последнюю сделанную ставку в прошлой игре. Глобальные переменные, используемые в программе и описанные в Unit1, приведены в таблице 1. Глобальные переменные, используемые в программе и описанные в Unit2, приведены в таблице 2.

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

     Таблица 1

Переменная Тип Описание
Kub Массив целого типа, состоящий из двух элементов Хранит случайно выпавшие числа для вывода граней кубиков
Kredit Длинное целое Кредит игрока (набранное количество очков)
Rotation Целое Количество  заходов в процедуру таймера

Таблица 2

Переменная Тип Описание
FO Текстовый файл Файл для  чтения
FS Текстовый файл Файл для  записи
S Строка Хранит считываемые строки
NameGamer Строка Имя текущего игрока
KolGamer Целое Количество  игроков
i, j Целое         Используются  для создания циклов
 

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

     Делается  вывод о необходимости использования  интегральной среды разработки программ Delphi. Среда Delphi позволяет достаточно быстро разрабатывать приложения для Windows. Технические характеристики компьютера: Pentium 100 и выше; объём оперативной памяти 8 Мб; жёсткий диск объёмом не менее 500 Мб. Именно эти параметры создают условия для полноценной работы IDE Delphi   и программ, созданных в этой среде. Дополнительных средств (принтер, сканер и т. д.) не требуется.

     2 Разработка рабочего проекта

     2.1 Разработка рабочего  проекта

     Для разработки приложения «Кости» используются средства визуаль-ного программирования Delphi. Проект программы содержит два окна: FormGame – рисунок 3, FormNew – рисунок 4.

      

     Рис. 3 Окно игры – FormGame

     Компонент FormGame – окно игры

     Свойства:

     Caption = 'Игра "Кости"'

     Color = clWhite

     События:

     OnActivate = FormActivate – вызов окна выбора игрока

     OnClose = FormClose – вызов процедуры записи игрока

     1 - компонент Timer: Ttimer

     Свойства:

     Enabled = False

     Interval = 200

     События:

     OnTimer = TimerTimer – выбор двух случайных  чисел и подсчет выигрыша (ход  игрока)

     2- компонент ImageTable: Timage

     Свойства:

     Align = alClient

     Событий нет.

     3- компонент Panel1: Tpanel

     Свойства:

     BorderStyle = bsSingle 

     Color = clWhite

     Событий нет.

     4: компонент Label1: Tlabel

     Свойства:

     Caption = 'Кредит:'

     Событий нет.

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