Разработка игры "Frag the monster"

Дипломная работа - Компьютеры, программирование

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



?зыка C++ для разработки системы.

.1.1 Описание объектов

Объектами в данной информационной модели, изображенной на рисунке 2.1, являются:

-объект класса Игрок;

-объект класса Враг;

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

Отношение между врагами и игроком - много к одному, так как врагов много, а игрок один.

Рисунок 2.1 - Информационная модель

.1.2 Построение иерархии классов

Используя результаты проведения ООА, а также возможностей среды программирования Microsoft Visual Studio 2008 были разработаны классы, необходимые для функционирования системы.

Рисунок 2.2 - Иерархия классов

2.1.3 Построение модели процесса

Рисунок. 2.3 - Жизненный цикл программы.

.1.4 Построение диаграмм переходов состояния

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

Рисунок 2.4 - ДПС для всех объектов системы

Действия системы начинается с запуска программы. Затем управляем действиями игрока для возможности игры.

На рисунке 2.4 изображена диаграмма переходов состояний (ДПС) для объектов системы, которые выражают описание жизненного цикла каждого объекта.

.1.5 Жизненный цикл игры

Рисунок 2.5 - Жизненный цикл игры

А1 - Начало

А2 - Поиск оружия

А3 - Поиск врага

А4 - Конец игры

.1.6 Жизненный цикл игрока

Рисунок 2.6 - Жизненный цикл игрока

А1 - Создание объекта

А2 - Сбор оружия

А3 - Уничтожение врагов

А4 - Смерть игрока

A5 - Выход

.1.7 Структурная схема алгоритма программы

Рисунок 2.7 - Структурная схема алгоритма программы

2.2 Объектно-ориентированное проектирование

Процесс объектно-ориентированного проектирования является возвратным проектированием и состоит в идентификации классов и объектов, определения свойств этих классов и объектов с точки зрения взаимосвязей с другими классами и создания классов и объектов.

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

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

3 ПРОГРАМНАЯ РЕАЛИЗАЦИЯ

.1 Обоснование выбора языка программирования

При выполнении курсового проекта была возможность выбора языка программирования из языков высокого уровня, таких как Python, Object Раsса1, С++, С и др. Для написания программы был выбран язык С++.

Язык С++ считается языком системного программирования, хотя он удобен и для написания прикладных программ. Среди преимуществ языка С++ следует отметить переносимость программ на компьютеры различной архитектуры и из одной операционной системы в другую, лаконичность записи алгоритмов, логическую стройность программ, а также возможность получить программный код, сравнимый по скорости выполнения с программами, написанными на языке ассемблера. Последнее связано с тем, что хотя С++ является языком высокого уровня, имеющим полный набор конструкций структурного программирования, он также обладает набором низкоуровневых средств, обеспечивающих доступ к аппаратным средствам компьютера. С 1989 года язык С++ регламентируется стандартом Американского института национальных стандартов ANSI С.

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

.2 Описание основных классов

.2.1 Описание абстрактного класса Объект

class Object {:x, z;// положение объекта:

Object();// конструктор объекта

virtual float getX();// получение положения по оси Х

virtual float getZ();// получение положения по оси Z

virtual void setX(float x); // установка положения по оси Х

virtual void setZ(float z); // установка поло