Проектирование и реализация компьютерной игры

Автор: Пользователь скрыл имя, 28 Ноября 2011 в 21:16, курсовая работа

Описание работы

Первые примитивные компьютерные и видеоигры были разработаны в 1950-х и 1960-х годах. Они работали на таких платформах, как осциллографы, университетские мейнфреймы и компьютеры EDSAC. Самой первой компьютерной игрой стал симулятор ракеты, созданный в 1942 году Томасом Голдсмитом Младшим и Истл Рей Менном.
По определению, которое сложилось к данному моменту времени, компьютерная игра — компьютерная программа, служащая для организации игрового процесса, связи с партнёрами по игре, или сама выступающая в качестве партнёра.

Содержание

Введение
1 Постановка задачи
2 Объектно-ориентированный анализ и проектирование
2.1 Объектно-ориентированный анализ
2.2 Объектно-ориентированное проектирование
2.2.1 Диаграммы классов
2.2.2 Диаграммы объектов
2.2.3 Диаграммы прецедентов
2.2.4 Диаграммы состояний
3 Рабочее проектирование
3.1 Структуры данных приложения
3.2 Разработка классов
3.3 Тестирование работоспособности системы классов
3.4 Обоснование выбора структур данных
3.5 Обоснование выбора алгоритмов
Выводы
Перечень ссылок

Работа содержит 1 файл

Министе_кор.doc

— 1.58 Мб (Скачать)

   

       Рисунок 2.5. Диаграмма состояний игрового процесса

          Данная диаграмма характеризуется следующим образом – после запуска игры происходит ожидание нажатия клавиши, если нажата клавиша Esc, то происходит выход из игры, если нажаты клавиши вверх, вниз, вправо или влево, то основной персонаж производит действие перемещения. Далее в алгоритме происходит проверка – совпадают ли координаты персонажа и пищи, таким образом происходит переход в следующую проверку на количество набранных калорий, если предел калорий не достигнут, то персонаж продолжает своё перемещение и питание, если достигнут предел, то-

Очистка экрана и сообщение об окончании игры.

                              

                                 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

                                    3 РАБОЧЕЕ ПРОЕКТИРОВАНИЕ  

       3.1 Структуры данных приложения 

       В разрабатываемой игре были созданы  следующие экземпляры –объекты классов:

  1. f[N] – массив объектов типа food, данный массив хранит информацию о пище, которую будет поедать главный перcонаж;
  2. g – объект типа game, данный объект является наиболее важных, так как с его помощью реализуется интерфейс заставок, меню и контролируется игровой процесс;
  3. m(3,44) – объект типа man, хранит информацию о персонаже, контролирует процесс перемещения по экрану
  4. s – объект типа sportzal, используется для отображения спортзала на экране.
 
 

       3.2 Разработка классов 

       Рассмотрим  основные методы и поля класса game и их функции в программе:

  1. void zastavka() – публичный метод, реализует заставку при запуске игры;
  2. int opt(int mode) – публичный метод, используется для определения ключа mode выбираемого пункта меню;
  3. void  menu() – публичный метод, который необходим для создания главного меню программы.
 

       Рассмотрим  основные методы и поля класса food и их функции в программе:

  1. int x,y,dx,dy,points,val – приватные переменные, которые необходимы для задания параметров объектов - пищи;
  2. food() – публичный конструктор, который инициализирует основные переменные в классе;
  3. void new_food() – публичный метод, который управляет процессом создания новых объектов-пищи;
  4. void zarisovkaf() – публичный метод, необходимый для прорисовки пищи на экране.
 

       Рассмотрим  основные методы и поля класса man и их функции в программе:

  1. int size, void *arrow, void *arrow2 – приватные поля, которые необходимы для реализации перемещения главного персонажа по экрану;
  2. int x,y,dx,dy,direct,kkal – публичные поля, необходимые для задания параметров прорисовки персонажа, направления его движения и количества набранных им калорий;
  3. void zarisovkam() – публичный метод, прорисовка персонажа на экране;
  4. void moveright(),moveleft(),moveup(),movedown() – публичные методы, которые реализуют перемещение персонажа в разлиных направлениях;
  5. void work() – публичный метод, контролирующий весь игровой процесс;
  6. man(int x,int y) – публичный конструктор.
 

       Рассмотрим  основные методы и поля класса sportzal и их функции в программе:

  1. void zarisovkas() – публичный метод, реализующий прорисовку спортзала на экране.
 

       3.3 Тестирование работоспособности  системы классов 

       Протестируем  разные состояния игры:

  1. Запускаем игру, появляется заставка (рисунок 3. 1), что говорит о корректной инициализации графического режима и создания экземпляра класса zastavka, с последеющей прорисовкой.
 

       

       Рисунок 3.1. Запуск приложения 

       
  1. Ожидаем некоторое  время, анимация продолжается (рисунок 3.2) некоторое время.

       

       Рисунок 3.2. Анимация 

       
  1. Нажимаем  любую кнопку (рисунок 3.3). Заставка завершается и открывается главное  меню приложения.
 

       

       Рисунок 3.3. Анимация 

       
  1. Нажимая клавиши  «Вверх» / «Вниз» протестируем работу меню (рисунки 3.4-3.5). Класс menu реализован правильно, о чем говорит корректная работа переключения пунктов меню.
 

       

       Рисунок 3.4. Работа главного меню 

       

       Рисунок 3.5. Работа главного меню 

       
  1. Далее запустим игровой процесс выбрав пункт  меню “NEW GAME” и нажмем Enter. Произошел запуск игры (рисунок 3.6).
 

       

       Рисунок 3.6. Запуск игры 

       
  1. Инициализация экземпляров классов man, food, sportzal произошла корректно, о чем свидетельствует соответсвующие прорисованные объекты. Протестируем перемещение персонажа, поедания пищи, создание нового объекта, с другими параметрами на месте съеденного (рисунки 3.7-3.8).
 
 

       

 
Рисунок 3.7. Тест игрового процесса
 
 

       

       Рисунок 3.8. Тест игрового процесса 

       
  1. Все методы работают корректно. При наборе определенного  количества калорий игровой процесс  завершается и отображается финальная заставка «GAME OVER» (рисунок 3.9). Закрытие графического режима и выход из программы.
 

       

       Рисунок 3.9. Финальная застака 

       Тест  завершен, все тестируемые функции, описанные в соответствующих  классах работают правильно. 
 
 
 

       3.4 Обоснование выбора структур данных 

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

       3.5 Обоснование выбора алгоритмов 

       Далее приводятся некоторые алгоритмы в виде блок схемы, разработанные при создании данной программы. На рисунках 3.10-3.14 представлена блок-схема работы метода первой сцены-заставки zastavka(), а на рисунках 3.15 – 3.18 работы метода меню menu().

       

       

Рисунок 3.10. Блок-схема работы первой сцены-заставки

       

       

 

Рисунок 3.11. Блок-схема работы метода первой сцены-заставки

   

       

       Рисунок 3.12. Блок-схема работы метода первой сцены-заставки

       

 

              

Рисунок 3.13. Блок-схема работы метода первой сцены-заставки 

       

 

       Рисунок 3.14. Блок-схема работы метода первой сцены-заставки

Рисунок 3.15. Блок-схема работы меню

    

Рисунок 3.16. Блок-схема работы

                   

                          Рисунок 3.17. Блок-схема работы меню

       

 

       Рисунок 3.18. Блок-схема работы меню 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

       ВЫВОДЫ 

       В данной работе продемонстрирована реализация классов на примере игры. Достоинством этой программы является простота управления основным объектом , минимальные системные требования, и достаточно интересная реализация графики с использованием графических примитивов, предоставляемых языком программирования Turbo C++.

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

       ПЕРЕЧЕНЬ  ССЫЛОК 

 
  1. Липпман. С++ для начинающих. Л:. «Вильямс»,2007г.,320 с.
  2. Марченко А.Л.С++. Бархатный путь. М:.«ГорячаяЛиния–Телеком»,2005г.,560с.                         
  3. Керниган Б. В., Ричи Д. М. Язык С. М:. «Вильямс»,2003г., 444 с.
  4. Семенидо Д. Программирование на С++ для DOS и Windows, или как заставить компьютер делать то, что Вы хотите. X:. «Свет», 2005г.,220 с.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ

       ДОНЕЦКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

          КАФЕДРА ПРИКЛАДНОЙ МАТЕМАТИКИ  И ИНФОРМАТИКИ 
 

                                                                                           Утверждаю

                                                                                           Зав.каф.ПМиИ

                                                                                           Башков Е.А.

                                                                                           __ . __ . 2009 г. 
 
 

       ТЕХНИЧЕСКОЕ ЗАВДАНИЕ

       на курсовую работу по дисциплине

       «Объектно-ориентированное программирование»

       Студенту  гр. КЭМ – 08 Вереитиной Д.А 

       Тема:  Проектирование и реализация компьютерной игры

       «Waka Waka» 

       Задание

 Сценарий.

       Необходимо  перемещать клавишами вверх, вниз, вправо, влево главного персонажа «Waka Waka» таким образом, чтобы он подходил на минимальное расстояние к объектам «пища».При выполнении этого условия «пища будет съедаться», а «Waka Waka» набирать калории. Как только главный персонаж набирает более 1000 калорий, то игра окончена, а если он успевает подойти к спортзалу, то все калории обнуляются и герой вновь может набирать калории.

         Требования к программному изделию

       Должно  быть разработано объектно-ориентированное  проектирование (с использованием UML) и программное обеспечение с использованием принципов ООП (инкапсуляции, наследования, полиморфизма), с анимацией изображения экземпляра класса. 

       Курсовая  работа должна быть выполнена на языке  Си++ в операционной системе MS-DOS.

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

Информация о работе Проектирование и реализация компьютерной игры