МегаПредмет

ПОЗНАВАТЕЛЬНОЕ

Сила воли ведет к действию, а позитивные действия формируют позитивное отношение


Как определить диапазон голоса - ваш вокал


Игровые автоматы с быстрым выводом


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


Целительная привычка


Как самому избавиться от обидчивости


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


Тренинг уверенности в себе


Вкуснейший "Салат из свеклы с чесноком"


Натюрморт и его изобразительные возможности


Применение, как принимать мумие? Мумие для волос, лица, при переломах, при кровотечении и т.д.


Как научиться брать на себя ответственность


Зачем нужны границы в отношениях с детьми?


Световозвращающие элементы на детской одежде


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


Как слышать голос Бога


Классификация ожирения по ИМТ (ВОЗ)


Глава 3. Завет мужчины с женщиной


Оси и плоскости тела человека


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


Отёска стен и прирубка косяков Отёска стен и прирубка косяков - Когда на доме не достаёт окон и дверей, красивое высокое крыльцо ещё только в воображении, приходится подниматься с улицы в дом по трапу.


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

ОБЪЕКТНО-ОРИЕНТИРОВАННЫЙ АНАЛИЗ И ПРОЕКТИРОВАНИЕ ПРОГРАММЫ НА ЯЗЫКЕ UML





ВВЕДЕНИЕ

 

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

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

 

 

Курсовой проект реализован в среде С#. C# — объектно-ориентированный язык программирования. Разработан в 1998—2001 годах группой инженеров под руководством Андерса Хейлсберга в компании Microsoft как язык разработки приложений для платформы Microsoft .NET Framework.

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

Переняв многое от своих предшественников — языков C++, Java, Delphi, Модула и Smalltalk — С#, опираясь на практику их использования, исключает некоторые модели, зарекомендовавшие себя как проблематичные при разработке программных систем.

Основная идея ООП: программа состоит из группы объектов, часто связанных между собой. В С# объекты описываются при помощи нового типа данных class. Класс включает в себя набор переменных (данных) и операций (методов или функций-членов), которые действуют на эти переменные. Полученными объектами можно управлять при помощи сообщений. В ООП объекты включают в себя не только данные (данные-члены), но и методы (функции-члены) воздействия на эти данные. Эти две части в сочетании образуют функциональную единицу программы. Другими словами, объекты содержат данные и методы работы с этими данными.



ООП представляет собой технику программирования, которая позволяет рассматривать основные идеи как множество объектов. Используя объекты, можно представить задачи, которые необходимо выполнить, их взаимодействие и любые заданные условия, которые должны быть соблюдены. Структура данных часто образует основы объектов; таким образом в С или С# тип struct может образовывать элементарный объект. Связь с объектом можно организовать при помощи сообщений. Когда объект получает сообщение, вступают в действие методы, содержащиеся в объекте. Методы (их иногда называют функциями-членами) аналогичны функциям процедурно-ориентированного программирования

ПОСТАНОВКА ЗАДАЧИ

Разработать компьютерную игру «Захватывающие гонки». Игра должна быть реализована на языке программирования C#. Данное приложение должно представлять из себя игру в жанре «гонки», реализованную для запуска на компьютере и мобильных устройствах.

 

Приложение должно выполнять следующие функции:

- перемещение игрового объекта (автомобиля) c помощью экранных кнопок

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

- отображение дополнительных игровых объектов, отражающихся на игровом процессе (бочки и т.д)

- игровой мир с возможностью разрушение ландшафта (например, дороги)

- уровневая система (уровни открываются по мере прохождения).

 

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

- Блок «Автомобиль»

- Блок «Противники»

- Блок «Стрельба»

- Блок «Объекты»

- Блок «Появление объектов»

- Блок «Разрушение дороги».

- Блок «Повреждения врагов».

 

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


ОБЪЕКТНО-ОРИЕНТИРОВАННЫЙ АНАЛИЗ И ПРОЕКТИРОВАНИЕ ПРОГРАММЫ НА ЯЗЫКЕ UML

2.1 Диаграммы классов

Центрально место в ООП занимает разработка логической модели системы в виде диаграммы классов. Диаграмма классов (class diagram) служит для представления статической структуры модели системы в терминологии классов ООП. Диаграмма классов может отражать, в частности, различные взаимосвязи между отдельными сущностями предметной области, такими как объекты и подсистемы, а так же описывать их внутреннюю структуру и типы отношений.

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

Ниже представлены классы, которые содержит приложение «Склад спортинвентаря».

Основными классами являются: Avtomobil.cs, Vrag.cs, Strelba.cs, Objects.cs, SpawnObjets.cs, Doroga.cs, VragDamage.cs. В них описываются свойства компонентов приложения. Помимо основных классов приложение также содержит дополнительные связующие классы.

 

Рисунок 2.1 – Диаграмма классов программы


2.2 Диаграмма вариантов использования.

 

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

- определить общие границы и контекст моделируемой предметной области;

- сформулировать общие требования к функциональному поведению проектируемой системы;

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

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

Диаграмма вариантов использования состоит из ряда элементов. Основными элементами являются: варианты использования или прецедент (use case), актер или действующее лицо и отношения между актерами и вариантами использования .

 

Рисунок 2.2 – Диаграмма вариантов использования.

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

 

3.1 Общие сведения.

 

Приложение называется «Захватывающие гонки», игра написана на языке программирования С# и работает в современных версиях операционной системы Windows (XP, Vista, 7, 8), а также на мобильных устройствах с ОС Android (версии 2.3 и выше). Для успешной работы программы необходимо иметь исполняемый файл Gonki.exe, папку Gonki_Data с файлами игры (для Android необходимо установить файл Gonki.apk. Папка Gonki_Data должна находиться внутри корневой директории программы. Windows-версия игры имеет оконный интерфейс, Android-версия – полноэкранный. Листинг программы приведен в приложении.

Т.к приложение является игрой в популярном жанре «гонки», имеет множество аналогов, самые известные из которых – игры Need for Speed, Asphalt, GT Racing, Real Racing.

 

3.2 Функциональное назначение.
Приложение представляет из себя игру в жанре «гонки», реализованную для запуска на компьютере и мобильных устройствах. Приложение реализует следующие функции: перемещение игрового объекта (автомобиля) c помощью экранных кнопок; возможность стрельбы как модели игрока, так и моделей проитвников; отображение дополнительных игровых объектов, отражающихся на игровом процессе (бочки и т.д); игровой мир с возможностью разрушение ландшафта (например, дороги); уровневая система (уровни открываются по мере прохождения). Игра является тест-проектом и не представляет большой практической ценности как программный продукт, однако функциональные алгоритмы, реализованные в данном приложении, могут быть использованы и в более серьезных проектах.





©2015 www.megapredmet.ru Все права принадлежат авторам размещенных материалов.