">
Информатика Программирование
Информация о работе

Тема: Игра Сапер

Описание: Основания для разработки. Требования к программе. Построение функциональной модели Задача игрока. Требования к функциональным характеристикам, надежности, техническим средствам, совместимости. Предварительная подготовка данных. Формат. Способ кодирования
Предмет: Информатика.
Дисциплина: Программирование.
Тип: Курсовая работа
Дата: 18.08.2012 г.
Язык: Русский
Скачиваний: 46
Поднять уникальность

Похожие работы:

ФЕДЕРАЛЬНОЕ АГЕНСТВО ПО ОБРАЗОВАНИЮ

Государственное образовательное учреждение

высшего профессионального образования

«ТЮМЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»

Институт математики естественных наук и информационных технологий

Кафедра Программного обеспечения

ОПИСАНИЕ ИГРЫ

по дисциплине:

РИСПСИИТ

на тему:

Игра «Сапер»

Выполнил:

Преподаватель:

г. Тюмень

2012 год

Содержание

Ведение

Основания для разработки

Назначение разработки

Требования к программе

4.1 Требования к функциональным характеристикам

4.2 Требования к надежности

4.3 Требования к техническим средствам

4.4 Требования к совместимости

Построение функциональной модели

6)Входные/выходные данные

6.1 предварительная подготовка данных

6.2 формат

6.3 способ кодирования

Ведение

Наименование программы:

Игра «Сапер»

Краткая характеристика продукта:

Эта игра, сочетающая в себе классику жанра, знаменитого Windows-ого аналога игры «Сапер», подходит для всех типов пользователей, отличная «убивалка» времени.

2) Основания для разработки

Документ на основании, которого ведется разработка:

Курсовая работа по дисциплине: «РАСПСИД»

Организация, утвердившая разработки:

Кафедра «Программного обеспечения», ТюмГУ

3)Назначение разработки

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

4)Требования к программе

4.1Функциональные характеристики

Приложение использует мало ресурсов компьютера, поэтому функциональные

характеристики игры «Сапер» довольно небольшие:

Операционная система: Windows XP/Vista/7; 1,3мб свободного места на диске.

4.2 Надежность

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

4.3 Требования к составу тех. средств

Приложение изначально писалось на языке Object Pascal в среде Delphi7, поэтому и требования довольно жесткие.

Требования к информационной и программной совместимости

Модель системы должна работать под управлением ОС Windows XP/Vista/7, поэтому требуется совместимость исполняемого модуля и библиотек динамического подключения стандартам, используемым этими ОС на платформе IBM PC.В качестве средства разработки требуется использовать интегрированную среду разработки Borland Delphi 7, включающую редактор исходных текстов, компилятор, компоновщик и отладчик.

5) Построение функциональной модели

5.1Описание проекта:

Игровое поле состоит из клеток, в каждой из которых может быть мина. 

Задача игрока — найти все мины и пометить их флажками. Используя кнопки мыши, игрок может открыть клетку или поставить в нее флажок, указав тем самым, что в клетке находится мина. Клетка открывается щелчком левой кнопки мыши, флажок ставится щелчком правой.

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

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

 

Ошибочно установленный флажок можно убрать, щелкнув правой кнопкой мыши в клетке, в которой он находится.

5.2 Представление данных:

В программе игровое поле находиться на специальной панели, и рисуется с помощью TCanvas на объекте TImage1.Основной обработчик событий TForm1.Image1MouseDown отвечает за нажатие кнопки мыши по полю, пользователем, внутри этого обработчика используются процедуры и функции описанные в Unit1:

Procedure ClearZPoleEx(эффект анимации при выигрыше игрока);

Procedure ClearQPole(эффект анимации при проигрыше игрока));

Procedure FillQPoleEx (дополнительная анимация при проигрыше);

Procedure FillQPole (дополнительная анимация при выигрыше);

Procedure ClearPole (процедура очищает поле после игры);

Procedure FillPole(Count: integer); (процедура заполнения поля);

function PlayerIsWin : boolean (проверяет, остались ли мины, выиграл ли игрок);

Procedure OpenPole; (открывает поле с минами);

function MinesCount(x,y: integer) : integer (показывает количество мин рядом с игроком);

Procedure OpenPole; (открывает поле с минами);

procedure DrawPole(Canvas: TCanvas; Res: TImageList); (рисует поле);

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

Procedure AnimFinal (Recurse: integer); (победная концовка);

В ней используются процедуры: ClearZPoleEx, FillQPole, ClearQPole, OpenPole, DrawPole.

Procedure AnimFinal2 (Recurse: integer); (проиграшная концовка);

function FillRegion(x,y: integer) : integer; (создание поля с минами и отображенье на экране)

Используются процедура DrawPole и функция PlayerIsWin.

Procedure AutoOpen(x,y: integer); (открыть свободные клетки, где нет мин);

Используется процедура DrawPole и функция FillRegion

5.3 Структура проекта:

а) Главная форма приложения, состоит из одной главной панели и игровой панели панель растягиваються вместе с формой (свойство BorderStyle)

рис.1(главная панель) рис.2(игровая панель)

б)Для удобства пользователя есть главное меню(рис.3), где можно выбрать уровень сложности игры, начать новую игру (горячая клавиша F2) или выйти. Также во время игры(рис.4) можно посмотреть, сколько мин осталось на поле, сколько всего мин было создано и личный счет игрока + секретная кнопка (для нечестных игроков).

Все иконки и символы, цифры берутся с компонента TImagelist.Компонент Image1 отвечает за основное поле, а Image3 за заставку к игре.

 

рис.3(главное меню) рис.4(игровое поле)

в)Имеется встроенный инсталлятор игры. Он входит комплект вместе с приложением.

6)Входные/выходные данные

6.1 предварительная подготовка данных

В приложении игровое поле строиться динамически, нарисованное на компоненте TImage при мощи Canvas.Так же имеется двумерный массив данных, для составление поля 8x8 (1 целочисленный и 2 массива булевского типа):

Pole : array [1..64,1..64] of integer;

zPole: array [1..64,1..64] of boolean;

qPole: array [1..64,1..64] of boolean;

6.2 формат

Приложение написано в формате *exe, для операционной среды Windows

6.3 способ кодирования