Разработка баллистической игры

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 04.06.2017
Размер файла 171,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

МИНОБРНАУКИ РОССИИ

Федеральное государственное бюджетное образовательное учреждение высшего образования

"Московский технологический университет"

МИРЭА

Институт информационных технологий (ИТ)

Кафедра инструментального и прикладного программного обеспечения (ИППО)

КУРСОВАЯ РАБОТА

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

Тема курсовой работы «Разработка баллистической игры»

Содержание

Введение

1. Анализ предметной области

2. Анализ функциональных требований

2.1 Общие сведения

2.2 Назначение системы

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

2.4 Условия эксплуатации

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

2.6 Стадии и этапы разработки

2.7 Общие требования к приемке работы

3. Разработка структур данных и алгоритмов работы программы

4. Реализация программы

5. UML-диаграмма

Заключение

Введение

Область применения языка программирования С++ невероятно широка.

Язык C++ используется для разработки программного обеспечения, являясь одним из самых популярных языков программирования. Область его применения включает также создание операционных систем, разнообразных прикладных программ, драйверов устройств, приложений для встраиваемых систем, высокопроизводительных серверов, а также развлекательных приложений (игр).

В данной курсовой работе будет показано одно из многочисленных применений данного языка, а именно - применение С++ в разработке игр. Будет рассмотрен пример простейшей баллистической игры.

1. Анализ предметной области

Так как разработка баллистической игры проводиласьв кроссплатформенной свободной IDE Qt Creator, вся программа основана на уже описанных классах, таких как, например, QApplication (он содержит главный цикл обработки событий, где обрабатываются и координируются все события из оконной системы и других источников). Мы подключаем их с помощью директивы #include. Данная программа также содержит такие классы, как QWidget,QPaintEvent, QPainter, QTimer, QMessageBox, QLCDNumber, QSlider, QVBoxLayout, QPushButton, QHBoxLayout, QGridLayout.

Имеет место и создание собственных классов. Класс CannonField, который наследуется от QWidget, занимается почти всем, что связано с игрой. Именно он отрисовывает обе баллисты, изменение угла дула каждой из них, отрисовывает выстрел, отслеживает попадание.

В программе присутствуют еще два собственных класса, такие как LCDRange и MyWidget. Оба класса наследуются от QWidget.

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

Класс MyWidget содержит только лишь конструктор, который выполняет сборку всех элементов и добавление их на сам виджет.

Баллистическая игра реализована в виде приложения с графическим пользовательским интерфейсом с использованием Qt.

2. Анализ функциональных требований

2.1 Общие сведения

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

Полное наименование системы

Простейшая баллистическая игра

Наименования организации-заказчика и организаций-участников работ

Заказчик системы:

Разработчик системы: Волженко В.В.

Сроки начала и окончания работ

Плановый срок начала работ: 01 марта 2017

Плановый срок окончания работ: 01 июня 2017

Порядок оформления и предъявления заказчику результатов работ по созданию системы

Конечный продукт предоставляется в виде функционирующей системы в сроки, установленные в данном документе. Прием системы осуществляется комиссией в составе уполномоченных представителей Заказчика и Исполнителя.

Нормативно-правовые акты, технические документы и стандарты

- ГОСТ Р1.5-2002 «Государственная система стандартизации РФ. Стандарты. Общие требования к построению, изложению, оформлению, содержанию и обозначению.»

- 34.603-92 «Информационная технология. Комплекс стандартов на автоматизированные системы. Виды испытаний автоматизированных систем.»

- Федеральный закон об информации, информационных технологиях и о защите информации.

2.2 Назначение системы

1. Получение информации о введенном угле и введенной начальной скорости (вводятся с помощью слайдеров)

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

3. Отрисовка выстрела

4. Предыдущие пункты выполняются для обеих пушек

5. В зависимости от того, какой игрок попал в цель, выводятся окна сообщений, выводящие информацию о том, какой из игроков выиграл

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

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

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

скорости и горизонтом. По этим данным программа должна произвести расчет траектории полета камня и смоделировать полет на экране. После первого игрока ходит второи? и т.д. Игра заканчивается, когда один из камнеи? попадет в баллисту противника.

- Программа должна позволять пользователю вводить и изменять угол и начальную скорость.

- Программа должна рассчитывать траекторию и отрисовывать выстрел.

- Программа должна заново рассчитывать траекторию и изменять отрисовку в зависимости от изменения входных параметров.

- Программа должна выводить окна сообщений в зависимости от того, кто из двух игроков выиграл.

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

Требования к обеспечению надежного функционирования программы

Надежное (устои?чивое) функционирование программы должно быть обеспечено выполнением Заказчиком совокупности организационно-технических мероприятии?, перечень которых приведен ниже:

- организациеи? бесперебои?ного питания технических средств

- использованием лицензионного программного обеспечения

- регулярным выполнением рекомендации? Министерства труда и социального развития РФ, изложенных в Постановлении от 23 июля 1998 г. «Об утверждении межотраслевых типовых норм времени на работы по сервисному обслуживанию ПЭВМ и оргтехники и сопровождению программных средств»

- регулярным выполнением требовании? ГОСТ 51188-98. Защита информации. Испытания программных средств на наличие компьютерных вирусов

- соблюдением целостности программного кода (исходного вида)

Требования к организации входных данных

Особых требований к входным данным нет, так как все параметры вводятся посредством специально разработанных слайдеров.

Требования к организации выходных данных

Требований нет.

Отказы из-за некорректных действий пользовательской системы

Отказы программы вследствие некорректных действий пользователя при взаимодействии с программой через графический интерфейс недопустимы.

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

При запуске программы должен выводиться виджет на котором должны располагаться:

- Специальное поле, выделенное цветом, отличным от цвета самого виджета. В нижней правой и нижней левой частях поля должны быть расположены две отрисованные баллисты, по умолчанию нацеленные на угол 45 градусов.

- По бокам виджета должны быть расположены в целом 4 слайдера и 4 ЖК-индикатора. Слайдеры, связанные со значением угла, должны быть выставлены на значение 45. Слайдеры, связанные со значением начальных скоростей, должны быть выставлены на значение 10.

- В верхней части виджета должны находиться 3 кнопки: кнопка «Выход» и 2 кнопки «Стреляй»

2.4 Условия эксплуатации

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

В состав технических средств должен входить IВМ-совместимый персональный компьютер (ПЭВМ), включающий в себя:

- процессор Intel Core, не менее.

- оперативную память объемом, 1 Гигабайт, не менее.

- операционную систему macOS, не менее.

Требования к исходным кодам и языкам программирования

Исходные коды программы реализованы на языке С++. В качестве интегрированной среды разработки программы использована среда Qt Creator (локализованная, русская версия).

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

Требований нет.

Специальные требования

Специальных требований нет.

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

Состав программной документации должен включать в себя:

- техническое задание

- UML - диаграммы

- описание программы

- руководство пользователя

2.6 Стадии и этапы разработки

Стадии разработки

Разработка должна быть проведена в три стадии:

- разработка Технического задания

- рабочее проектирование

- внедрение

Этапы разработки

На стадии разработки Технического задания должен быть выполнен этап разработки, согласования и утверждения настоящего технического задания. баллистический игра интерфейс код

На стадии рабочего проектирования должны быть выполнены перечисленные ниже этапы работ:

- разработка программы

- разработка программной документации

- испытания программы

На стадии внедрения должен быть выполнен этап разработки подготовка и передача программы.

Содержание работ по этапам

На этапе разработки Технического задания должны быть выполнены перечисленные ниже работы:

- постановка задачи

- определение и уточнение требований к техническим средствам

- определение требований к программе

- определение стадий, этапов и сроков разработки программы и документации на неё

- согласование и утверждение Технического задания

На этапе разработки программы должна быть выполнена работа по программированию (кодированию) и отладке программы.

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

На этапе испытаний программы должны быть выполнены перечисленные ниже виды работ:

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

- проведение приемо-сдаточных испытаний

- корректировка программы и программной документации по результатам испытаний.

На этапе подготовки и передачи программы должна быть выполнена работа по подготовке и передаче программы и программной документации в эксплуатацию на объектах Заказчика.

2.7 Общие требования к приемке работы

Испытания функционирующей системы

При приемке системы будут проведены следующие испытания:

- Проверка функциональности всех разделов системы.

- Проверка оформления, указанного в Техническом задании.

- Проверка на наличие уязвимостей.

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

Обязанности сторон

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

- Заказчик согласен со всеми положениями настоящего Технического задания.

- Заказчик не вправе требовать от Исполнителя в рамках текущего договора выполнения работ либо оказания услуг, прямо не описанных в настоящем техническом задании.

- Исполнитель обязуется выполнить работы в объёме, указанном в настоящем Техническом задании.

- Заказчик не вправе требовать от Исполнителя соблюдения каких либо форматов и стандартов, если это не указано в настоящем Техническом задании.

- Все неоднозначности, выявленные в настоящем Техническом задании после его подписания, подлежат двухстороннему согласованию между Сторонами. В процессе согласования могут быть разработаны дополнительные требования, которые оформляются дополнительным соглашением к Договору и соответствующим образом оцениваются.

3. Разработка структур данных и алгоритмов работы программы

Рассмотрим три собственных класса, указанных в пункте 1.

Начнем с класса CannonField.

Класс наследуется также от QObject, поэтому используем макрос Q_OBJECT, чтобы избежать ошибок в работе программы. В public задаем конструктор класса, который рисует «поле битвы», а также задает значения переменных, указанных в private; задаем четыре константных функции, которые возвращают значения четырех private переменных.

В классе будет два типа слотов. Все слоты в public slots делаем публичными, потому что их используют не только в данном классе, но и в классе MyWidget. setAngle() и setSecAngle() устанавливают значения угла возвышения.setForce() и setSecForce()устанавливают значенияначальной скорости.Вызов слотов shoot() и SecShoot() приводит к выстрелу пушки, если снаряд еще не в воздухе.

Закрытые слоты moveShot(), moveSecShot() используются для перемещения снаряда пока он находится в воздухе, используя QTimer.Они также проверяют, не пересекся ли снаряд с целью.

Класс содержит четыре сигнала: два об изменении углов и два об изменении сил.

paintEvent() - виртуальная функция (поэтому указываем protected), которая вызывается Qt всякий раз, когда виджету нужно обновиться (т.е., нарисовать поверхность виджета).

Закрытые функции paintCannon(), paintShot() и paintSecShot() осуществляют отрисовку баллист и снарядов. Функция cannonRect() и SecCannonRect() возвращают ограждающий прямоугольник баллисты в координатах виджета. Сначала мы создаем прямоугольник с размерами 50 x 50, а затем передвигаем его так, чтобы его нижний левый/правый угол совпадал с нижним левым/правым углом виджета. Функции shotRect() и SecShotRect()вычисляют центральную точку снаряда и возвращает ограничивающий прямоугольник для снаряда. Далее в классе объявляются закрытые переменные.

Перейдем к классуLCDRange.

Как и в классе CannonField, в LCDRange используется макрос Q_OBJECT. LCDRange() - конструктор класса, value() - открытая функция для получения доступа к значению LCDRange, setValue() - слот, а valueChanged() - сигнал.setRangeдобавляет возможность установки диапазона значений LCDRange.

Также создаем указатель *slider на объект класса QSlider. Мы можем это сделать, потому что в заголовочном файле lcdrange.h указывам class QSlider.

Класс MyWidget содержит только лишь конструктор, который выполняет сборку всех элементов и добавление их на сам виджет.

4. Реализация программы

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

При запуске программы появится окно (рис. 1).

Пользователи сами выбирают за какую из баллист будут играть и кто начинает первым. Пользователи могут как угодно изменять значения слайдеров (рис. 2).

Выстрел производится при нажатии кнопок «Стреляй», каждая относится к своей пушке. Реализация выстрела показана на рисунке 3.

При попадании появляется окно сообщение, выводящее информацию о том, кто выиграл (рис. 4).

Продолжить игру можно посредством нажатия кнопки «ОК» на окне сообщений. Выход из игры реализуется с помощью кнопки «Выход».

5. UML-диаграмма

Заключение

В данной курсовой работе была разработана и реализованапростейшая баллистическая игра.

При работе над проектом было составлено Техническое задание, по которому создавалась система. А так же были изучены элементы создания графического интерфеи?са с помощью классов Qt.

Применение объектно-ориентированного подхода к программированию и широкие возможности языка С++ позволяют создавать программы, имеющие мощную функциональность, а использование графического интерфеи?са позволяет стороннему пользователю без труда использовать готовую систему.

Размещено на Allbest.ru


Подобные документы

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

    дипломная работа [1,5 M], добавлен 22.11.2015

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

    дипломная работа [6,5 M], добавлен 10.10.2011

  • Исследование основных требований к пользовательскому интерфейсу. Краткая характеристика используемой операционной системы Windows 7 и языка программирования. Особенность создания удобного управления в игре. Главные требования к аппаратному обеспечению.

    курсовая работа [453,0 K], добавлен 02.06.2017

  • Особенности программирования аркадных игр в среде Python. Краткая характеристика языка программирования Python, его особенности и синтаксис. Описание компьютерной игры "Танчики" - правила игры, пояснение ключевых строк кода. Демонстрация работы программы.

    курсовая работа [160,3 K], добавлен 03.12.2014

  • Разработка эскизного и технического проекта программы игры "Собери картинку". Назначение и область применения, основные технические характеристики. Разработка рабочего проекта, разработка и спецификация программы игры. Описание и тестирование программы.

    курсовая работа [22,6 K], добавлен 10.06.2010

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

    курсовая работа [35,7 K], добавлен 30.01.2016

  • Технические и пользовательские характеристики игры, требования к программному обеспечению и среде разработки C#. Составление блок-схемы алгоритма, uml-диаграммы и текста программы, тестирование корректности компьютерного кода и результатов его работы.

    курсовая работа [1,8 M], добавлен 05.03.2013

  • Обоснование необходимости разработки программы для игры "Тетрис". Математическая и графическая части алгоритма. Выбор языка и среды программирования. Отладка текста программы, разработка интерфейса пользователя. Тестирование, руководство пользователя.

    курсовая работа [1,5 M], добавлен 17.01.2011

  • Разработка программы логической игры в "крестики-нолики" пять в ряд на поле размера 15х15 клеток с применением графики на языке Pascal с использованием объектно-ориентированного программирования. Структура алгоритма программы и описание ее работы.

    курсовая работа [821,5 K], добавлен 13.02.2012

  • Методика и основные этапы разработки стратегической игры, ее элементы и принцип работы программы. Порядок построения информационной модели. Диаграмма потоков данных и действий. Выбор языка программирования и его обоснование. Критерии качества среды.

    курсовая работа [3,5 M], добавлен 11.12.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.