Разработка игры «Морской бой»

Автор: Пользователь скрыл имя, 30 Июня 2014 в 18:50, курсовая работа

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

Компьютерные игры часто создаются на основе фильмов и книг; есть и обратные случаи. С 2011 года компьютерные игры официально признаны в США отдельным видом искусства
Компьютерные игры оказали столь существенное влияние на общество, что в информационных технологиях отмечена устойчивая тенденция к теймификации для неигрового прикладного программного обеспечения
Целью практики является разработка компьютерной игры «Морской бой»

Файлы: 1 файл

Абраменко отчет.docx

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

 


 

Оглавление

 

 

 


 

ВВЕДЕНИЕ

 

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

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

Компьютерные игры – это модель игры, воссоздаваемой при помощи современных компьютерных средств.

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

Компьютерные игры часто создаются на основе фильмов и книг; есть и обратные случаи. С 2011 года компьютерные игры официально признаны в США отдельным видом искусства

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

Целью практики  является разработка компьютерной игры «Морской бой»

Данная программа  разработана в среде программирования Delphi 7.0

 


 

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

 1.1 Общая характеристика задачи

 

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

Смысл игры «Морской бой» следующий:

Создаётся два поля 10х10, на которых размещаются по 10 кораблей разного размера (один - размера четыре, два - размера три, три - размера два и четыре - размера один).

Корабли могут располагаться горизонтально и вертикально.

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

Каждый игрок видит только свои корабли и обстрелянные поля противника. Стрелять разрешается только по тем полям, по которым еще не стреляли.

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

Игрок стреляет до первого промаха, далее ход переходит к противнику.

Как только кто-то из игроков убьёт все корабли противника, он выигрывает, игра окончена.

 

     

2.Проектирование программного  модуля

2.1 Сбор исходных материалов

 

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

Для реализации игры «Морсокй бой» использовались:

    1. ссылки :

http://articles.org.ru/cn/showdetail.php?cid=1853 позволяет узнать о новых алгоритмах

http://ru.wikipedia.org/wiki/%CC%EE%F0%F1%EA%EE%E9_%E1%EE%E9_(%E8%E3%F0%E0) позволила узнать об игре больше

http://aka-alex.narod.ru/seabattle.htm помогла реализовать данную программу.

    1. электронные книги
  • Delphi_7_na_primerakh
  • Ю. В. Ревич - Нестандартные приемы програмирования на Delphi
    1. Мною были рассмотрены и изучены аналоги программ, их достоинства и недостатки, определены требования.

 

  2.2 Проектирование информационной модели

 

Информационная модель - это модель данных, их структур и обработки. Другими словами, информационная модель – это схема, описывающая информацию об объекте и процедуры его исследования. Компьютерная информационная модель описывается совокупностью переменных, представленных абстрактными типами данных и сконструированных в соответствии с требованиями некоторой компьютерной среды, обусловленными ее средствами обработки информационной модели.


 Виды информационной модели:

Натуральные модели — это реальные исследуемые системы (макеты, опытные образцы). Имеют полную адекватность (соответствия) с системой оригиналом, но дороги. 

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

Математическая модель - описание математическими формулами соотношений между количественными характеристиками объекта моделирования. Примеры математических моделей: модель прямолинейного перемещения тела математическая модель периода колебаний пружинного маятника. 

Табличная информационная модель – это модель, в которой объекты или их свойства представлены в виде списка, а их значения размещаются в ячейках прямоугольной таблицы. Типы табличных моделей: таблицы типа «объект-свойство» таблицы типа «объект-объект» двоичные матрицы. 

Графическая информационная модель – это наглядный способ представления объектов и процессов в виде графических изображений.Одним видом информационной модели является блок-схема.

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 1 – Общая схема работы программы

 

 

 

 

 

 

 

2.3 проектирование программного  модуля

 

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

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

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

В данной программе используются следующие процедуры:

  1. Прорисовка игрового поля
  2. Ввод данных
  3. Выход из программы
  4. Запуск игры заново
  5. Автоматическая расстановка «кораблей»
  6. Проверка на заполнение игрового поля

 

2.4 Описание формы представления входных и выходных данных

 

Входные данные

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

Требования к входным данным:


1. Ввод имени может производиться в любой форме;

2. Должен выбираться ход (либо компьютер ходит первым, либо игрок).

Выходные данные

Выходные данные - это данные получаемые в результате выполнения программы.

1.Вывод  сообщения об окончании игры и информации о победителе.

2. Вывод сообщения об авторе  данной игры. 

3.Реализация программного  модуля

3.1 Описание структуры разрабатываемого пакета.

Программный код написан на языке программирования Delphi и программа реализована в среде программирования Borland Delphi.

            В программе отражены следующие процедуры и функции:

Класс формы:

procedure FormActivate  − отвечает за интерфейс кораблей

procedure myFieldMouseDown – нажатие по иовому полю

procedure bbReClick – заново начать расстановку кораблей

procedure bbOKClick – начать игру

procedure bbOkSetClick – перейти к расстановке кораблей

procedure N8Click – выход из игры

procedure N2Click – новая игра

procedure N9Click – информация об игре

procedure AutoClick – автоматическая расстановка

 

3.2 Описание используемых  типов данных

 

При реализации программного модуля были использованы следующие типы данных:

        • Byte – Целочисленный тип, поддерживающий значение от 0 до 255. В данной программе используется для ввода и вывода чисел на игровое поле;
        • Boolean – позволяет принимать значение true или false;
        • Integer – основной тип целочисленного числа. В данной программе используется для ввода чисел;

 

    1. Проектирование интерфейса


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

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

Диалоговый интерфейс – языковой интерфейс: пользователь «разговаривает» с программой на родном ему языке.

Физический интерфейс — способ взаимодействия физических устройств. Чаще всего речь идёт о компьютерных портах.

При разработке программы использовались компоненты:

  • MainMenu – предназначен для добавления к программе главного меню;
  • CheckBox – используется в программе для визуализации состояния включен/выключен случайный выбор;
  • Edit – текстовое поле, служит для ввода данных пользователем;
  • Label – предназначен для отображения текста;
  • SpeedButton – кнопка;

Программа обладает простым и понятным интерфейсом.


 

4. Тестирование программного модуля

Тестированием называется процесс выполнения программы с целью обнаружения ошибки. Никакое тестирование не может доказать отсутствие ошибок в программе

Уровни тестирования:

Модульное тестирование (Автономное или Unit-тестирование)

Входные требования - архитектура компонентов или модель “нижнего уровня” системы (Component Design или Low Level Design)

Объект тестирования - Разработанные компоненты

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

Комплексное тестирование (Сборочное тестирование, integration testing или interface testing)

Входные требования - архитектура системы или модель “верхнего уровня” системы (System Design или High Level Design)

Объект тестирования - Собранная из компонентов система или подсистема

Определение - На данном уровне тестируются объединенные элементы (компоненты или подсистемы) общей системы, чаще всего некоторая взаимодействующая между собой группа элементов.

Комплексное тестирование направлено не на проверку функционирования каждого из компонентов, а на проверку взаимодействия компонентов в соответствии с «Архитектурой системы».

Тесты данного уровня обычно проверяют все интерфейсы взаимодействия между компонентами, определенные в системной архитектуре, до тех пор, пока


все компоненты не будут разработаны, отлажены и проинтегрированы друг с другом в единую систему.

Системное тестирование (system testing)

Входные требования - Системные спецификации (System Specification)

Объект тестирования - Разработанная система

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

На данном уровне тестируется приложение или система (одно или более приложений) целиком.

Приемочное тестирование (Приемо-сдаточное тестирование или acceptance testing)

Входные требования - Требования (Requirements)

Объект тестирования - Разработанная система

Определение - На данном уровне завершенное приложение (система) тестируется Заказчиком, конечными пользователями или соответствующими уполномоченными с целью определения соответствия системы “Требованиям Заказчика” и готовности системы к внедрению. Приемосдаточные испытания оформляют процесс передачи продукта от Разработчика Заказчику. В зависимости от особенностей продукта и от требований Заказчика они могут проводиться в различной форме. Например, в виде альфа- или бета-тестирования.

Информация о работе Разработка игры «Морской бой»