Проектирование игрового симулятора - Программирование, компьютеры и кибернетика дипломная работа

Проектирование игрового симулятора - Программирование, компьютеры и кибернетика дипломная работа



































Разработка программного продукта, предназначенного для имитации физического взаимодействия между объектами на основе игрового симулятора. Проектирование программы "LonelySpaceRanger", код которой представлен на языке VisualС++. Разработка интерфейса.


посмотреть текст работы


скачать работу можно здесь


полная информация о работе


весь список подобных работ


Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных

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

Целью дипломной работы является написание программного продукта, предназначенного для имитации физического взаимодействия между объектами на основе игрового симулятора.
Сегодня как в России, так и во всём мире существует тенденция разработки игровых симуляторов. Поэтому на данный момент актуальным является выпуск, как самих игровых симуляторов, так и кода взаимодействия объектов. Однако, несмотря на то, что зачастую данные программы используют исключительно в коммерческих целях (выпуск игровых программ), так же данные программы можно использовать в определённой сфере науки. Обе стороны применения программного продукта могут принести не только прибыль, но и внести не малый вклад в развитие технологий в целом. Игровой симулятор наглядно покажет, как происходят физические взаимодействия объектов в компьютерной среде. Этот программный продукт предназначен как для обычных игроков, которые не задумываются о том, что происходит в программе, так и для организаций, которые занимаются серьёзными исследованиями или разработкой более сложных игровых программ.
Использование игрового симулятора - это возможность оценить свои силы, получить информацию о игровых программах в целом, а также увидеть, как происходит процесс взаимодействий, основанный на математических формулах. Игровые симуляторы позволяют весело проводить время, показать физику объектов, чтобы наглядно увидеть её, но и возможно в будущем смогут помочь при разработке более серьёзных программ.
Задачи создания игровых симулятор зачастую сильно отличаются, отличая характерны как для самого игрового интерфейса, так и для среды, в которой программа должна симулировать взаимодействия.
Среди найденных аналогов для сравнения с предлагаемым программным продуктом, можно выделить наиболее интересные, найденные на сайтах www.ua.all-biz.info, www.ourgames.ru, www.myplaycity.ru. Большинство программных продуктов сети Интернет являются бесплатными, и, как правило, занимают от нескольких Килобайт до 10 Мегабайт дискового пространства. Но также множество популярных игровых симуляторов являются платными, с этим и связана основная цель их разработки. Сравнение и анализ будет проводиться со схожей программой «Galaxy War» (рисунок 1.1).
Рисунок 1.1 - Игровой процесс в «Galaxy War».
При анализе существующего программного обеспечения выявлен ряд недостатков:
- ограниченность выбора уровней сложности в связи с чем теряется его актуальность как игрового симулятора;
- отсутствие ведения статистики игроков;
В связи с этим возникает, необходимость разработать программный продукт, позволяющий устранить отмеченные недостатки и обладающий следующими функциональными возможностями:
- выбор уровня сложности игрового процесса;
- открытость кодов основных модулей.
- открытость и доступность программы.
Для разработки данного программного продукта будет использоваться физический движок Box2D.
Box2D -- компьютерная программа, свободный открытый физический движок. Box2D является физическим движком реального времени и предназначен для работы с двухмерными физическими объектами.
Движок Box2D является кроссплатформенным ПО, он написан на платформо-независимом языке программирования C++, поэтому может работать (выполняться) на любой платформе, на которой присутствует компилятор C++. Движок может быть скомпилирован в режимах с фиксированной запятой и с плавающей запятой. Программная реализация представлена в листингах Б1, Б2.
Box2D предназначен для симуляции механики твёрдых тел с учётом ограничений. Движок может симулировать физические тела, составленные из выпуклых многоугольников, окружностей и линий. Тела могут быть связаны ограничителями в кинематические пары и подвергаться действию разных физических сил, таких как гравитация, трение и удар.
Системы обнаружения столкновений и обработки ограничений состоят из трёх частей: возрастающей широкой фазы Sweep and prune, блока непрерывных (продолжающихся) обнаружений столкновений, и стабильного линейного во времени блока решения столкновений. Эти алгоритмы предоставляют эффективную симуляцию быстро движущихся тел и больших массивов объектов без упускания пересечений и появления нестабильностей.
Для разработки данного программного продукта в качестве вспомогательного средства использовался графический движок Haaf`sGameEngine (HGE). Преимущества использования данного средства заключаются в том, что оно содержит готовые функции для работы с DirectDraw, позволяющие создавать высокопроизводительные приложение с использованием сложных графических элементов, таких как: анимированные текстуры, деформаторы и системы частиц.
Движок выбран, так как в нём разрабатывают 2D игры. HGE использует 3D ускоритель для рендеринга объектов. А это означает высокую скорость рендеринга. Программная реализация представлена в листинге Б3.
1.3 Обоснование выбора программных средств
Для хранения настроек приложения и сохранения результатов используются текстовые файлы, использование обусловлено малым количеством информации, требующей хранения, а так же тем, что такие файлы легко создавать, редактировать и использовать в приложении.
Для разработки программы генерации игрового процесса используется язык программирования VisualC++ так как данная среда разработки позволяет быстро разработать производительное многопоточное приложение, а также предоставляет удобный интерфейс создания и использования DLL-библиотек.
Язык VisualC++ является объектно-ориентированным и прост в изучении. Также не менее важным обстоятельством выбора данного языка является то, что он входит в состав MicrosoftVisualStudio - одной из ведущих систем разработки программного обеспечения.
Так как при реализации программы использовался графический движок HGE, то в программе должны присутствовать две специальные функции: функция инициализации движка (раздел 3 листинг 1) и функция отрисовки (раздел 3 листинг 2). Функция инициализации движка запускает сам движок, а так же производит загрузку всех необходимых ресурсов: текстур, значений системных переменных, графических объектов и модулей управления; и инициализацию объектов. Функция отрисовки производит отображение на экране интерфейса и графических объектов.
На основании анализа существующих аналогов разрабатываемого программного продукта, а также исходных данных на дипломную работу в качестве среды программирования был выбран VisualC++. Данный язык позволяет максимально удобно реализовать данный программный продукт, а также сделать оптимизацию программного продукта. Так же для языка VisualС++ существует множество различных программных дополнений, которые упрощают процесс реализации.
В результате выполнения данной дипломной работы должен быть разработан программный продукт (ПП) для моделирования игрового процесса программно ориентированных объектов, обладающий графическим пользовательским интерфейсом, с возможностью хранения результатов и выбора настроек игрового процесса.
2.1 Разработка структурной схемы программного продукта
В данном программном продукте для обеспечения работы предусмотрено наличие модуля графики. Данный модуль осуществляет физическое взаимодействие между объектами. Также для наглядного отображения физических процессов используется графический движок.
При запуске приложения физический движок создаёт мир и инициализирует физические объекты. Затем графический движок должен подгружает графические ресурсы и создаёт объекты, необходимые для наглядного отображения физических взаимодействий. Далее модуль логики создаёт объекты игрового мира: противников, игрока, а также обеспечивает алгоритм их взаимодействия. Программа в ходе своей работы проходит следующие стадии:
- инициализация графического движка;
- загрузка и сохранение настроек и данных;
- инициализация физического движка;
- сохранение счёта и завершение симуляции;
Структурная схема работы программы представлена на рисунке 2.1.

Рисунок 2.1 - Структурная схема программы
2.2 Разработка модулей программного продукта
В ходе работы программа должна обеспечивать обмен информацией между следующими компонентами:
- модуль осуществления физических взаимодействий;
Схема взаимодействия модулей ПП представлена на рисунке 2.2.

Рисунок 2.2 - Схема взаимодействия модулей
Модуль логики должен содержать в себе следующие структурные компоненты:
- инициализация графики и загрузка ресурсов;
UI с помощью функции графического движка обеспечивает пользователю важную информацию, а именно графическое отображение объектов на экране.
Инициализация графики производит создание объектов графического движка, а также загрузку ресурсов представляющих собой графическое отображение физических объектов.
Инициализация физики передаёт модулю информацию о физических взаимодействиях параметры, необходимые для корректной симуляции.
Игровой процесс представляет собой набор функций обеспечивающих пользователю взаимодействие физической средой, такие как:
- создание игрового поля, игрока и противников;
Игровая программа создаёт физическое представление и графическое отображение поля, игрока и противников, а также определяет алгоритмы, отвечающие за управление их поведением.
Управление кораблём игрока позволяет с помощью мыши осуществлять управление его кораблём.
Обработка игровых событий предоставляет алгоритмы обработки событий, происходящих в ходе физической симуляции.
На рисунке 2.3 изображена структурная схема модуля логики.

Рисунок 2.3 - Структурная схема модуля логики
2.2.2 Разработка модуля обеспечения физических взаимодействий
Модуль осуществления физических взаимодействий должен содержать в себе следующие структурные компоненты:
- инициализация мира и физических объектов;
Инициализация мира и физических объектов производит создание объектов и задание параметров необходимых для симуляции.
Симуляция физики на основе свойств объектов производит симуляцию их взаимодействия.
Обнаружение коллизий с помощью встроенных в движок алгоритмов обнаружения коллизий обеспечивает обработку столкновений объектов.
На рисунке 2.4 изображена структурная схема модуля физических взаимодействий.

Рисунок 2.4 - Структурная схема модуля обеспечения физических взаимодействий
2.2.3 Разработка графического модуля
Графический модуль содержит в себе следующие компоненты:
- загрузка и инициализация графических объектов;
Графический модуль создаёт и инициализирует графические объекты
на основе данных предоставленных модулем логики, и с помощью встроенной функции графического движка непосредственно отображает объекты на экране.
На рисунке 2.5 изображена структурная схема графического модуля.

Рисунок 2.5 - Структурная схема графического модуля
2.3 Разработка интерфейса программного продукта
Интерфейс - это совокупность технических и программных средств, обеспечивающих взаимодействие различных функциональных устройств вычислительных, управляющих или измерительных систем (например, оперативного и внешнего запоминающих устройств ЭВМ). Интерфейс позволяет набирать системы из готовых модулей в соответствии с установленными правилами и соглашениями в отношении кодирования и синхронизации передаваемой информации, механические и электрические соединения устройств, вида сигналов, формы представления информации и т. д.
2.3.1 Определения и стили пользовательских интерфейсов
Раскрывая термин «интерфейс» узко-специализированно, можно сказать, что он объединяет устройства ввода и вывода и программное обеспечение, которое обслуживает их. В более широком смысле интерфейс
включает в себя все, что помогает пользователю взаимодействовать с компьютером, в том числе документацию, обучение и техническую поддержку.
Интерфейс - это место, где независимая система встречается и взаимодействует или производит коммуникацию с другой такой же.
В настоящее время различают следующие типы интерфейсов:
Пользовательский интерфейс содержит полный спектр взаимодействия между пользователем и компьютером. В этот термин включается аппаратное и программное обеспечение компьютера, дающее информацию пользователю и позволяющее ему работать с компьютером.
В настоящее время при всем многообразии пользовательских интерфейсов их можно разделить на следующие стили:
- графический пользовательский интерфейс (GUI);
- пользовательский Web-интерфейс (WebUI);
- пользовательские интерфейсы карманных устройств (HUI);
- объектно-ориентированные пользовательские интерфейсы.
Графический пользовательский интерфейс GraphicalUserInterface определяется как стиль взаимодействия «пользователь-компьютер», в котором применяются четыре фундаментальных элемента:
По заглавным буквам перечисленных выше элементов такие интерфейсы называют иногда WIMP-интерфейсами.
– возможность непосредственного манипулирования;
– наличие области для функций и данных приложения.
Объектно-ориентированный пользовательский интерфейс должен обладать следующими свойствами:
– обеспечивать непосредственный ввод данных;
– обеспечивать контекстную зависимость от объектов.
2.3.2 Разработка пользовательского интерфейса
Основываясь на теории о графическом пользовательском интерфейсе пользователя, был создан интерфейс ПП.
После запуска программы первичным окном будет главное меню (рисунок 2.6), состоящие из четырёх пунктов:
Затем при нажатии на каждый пункт главного меню будет происходить действие, соответствующее его названию, изображения главных пунктов программы представлены на рисунках 2.7, 2.8, 2.9.
Данная структура связи модулей программы позволяет обеспечить как наибольшую производительность программы, так и оптимальную оптимизацию памяти. Удобный пользовательский интерфейс позволяет максимально упростить управление программой.
3.1 Технология разработки программного продукта
3.1.1 Основные понятия и определения
Программное обеспечение (ПО, Software) -это полный набор или часть программ, процедур, правил и связанной с ними документации системы обработки информации.
ПО - это интеллектуальный продукт, не зависящий от среды, на которой он записан.
Программные средства (Softwareproduct) - это набор компьютерных программ, процедур и, возможно, связанных с ними документации и данных.
Программный продукт (Softwareproduct) -это набор компьютерных программ, процедур и, возможно, связанных с ними документации и данных, предназначенных для передачи пользователю.
Проектирование программного обеспечения представляет собой процесс построения приложений реальных размеров и практической значимости, удовлетворяющих заданным требованиям функциональности и производительности.
Программирование -- это один из видов деятельности, входящих в цикл разработки программного обеспечения.
3.1.2 Жизненный цикл программного продукта
Жизненный цикл программного продукта (ЖЦ ПО) - это непрерывный процесс, который начинается с момента принятия решения о необходимости его создания и заканчивается в момент его полного изъятия из эксплуатации.
Основным нормативным документом, регламентирующим ЖЦ ПО, является международный стандарт ISO/IEC 12207 (IEC - InternationalElectrotechnicalCommission - Международная комиссия по электротехнике). Он определяет структуру ЖЦ, содержащую процессы, действия и задачи, которые должны быть выполнены во время создания ПО.
- основные процессы ЖЦ ПО: приобретение (заказ), поставка, разработка, эксплуатация, сопровождение;
- вспомогательные процессы, обеспечивающие выполнение основных процессов: документирование, управление конфигурацией, обеспечение качества, верификация, валидация (аттестация), оценка (совместный просмотр), аудит, решение проблем;
- организационные процессы: управление, создание и сопровождение инфраструктуры, усовершенствование, обучение.
Разработка включает в себя все работы по созданию ПО и его компонент в соответствии с заданными требованиями, включая оформление проектной и эксплуатационной документации, подготовку материалов, необходимых для проверки работоспособности и соответствующего качества программных продуктов, материалов, необходимых для организации обучения персонала и т.д. Разработка ПО включает в себя, как правило, анализ, проектирование и реализацию (программирование).
Эксплуатация включает в себя работы по внедрению компонентов ПО в эксплуатацию, в том числе конфигурирование базы данных и рабочих мест пользователей, обеспечение эксплуатационной документацией, проведение обучения персонала и т.д., и непосредственно эксплуатацию, в том числе локализацию проблем и устранение причин их возникновения, модификацию ПО в рамках установленного регламента, подготовку предложений по совершенствованию, развитию и модернизации системы.
Верификация - это процесс определения того, отвечает ли текущее состояние разработки, достигнутое на данном этапе, требованиям этого этапа. Проверка позволяет оценить соответствие параметров разработки с исходными требованиями. Проверка частично совпадает с тестированием, которое связано с идентификацией различий между действительными и ожидаемыми результатами и оценкой соответствия характеристик ПО исходным требованиям. В процессе реализации проекта важное место занимают вопросы идентификации, описания и контроля конфигурации отдельных компонентов и всей системы в целом.
Управление конфигурацией является одним из вспомогательных процессов, поддерживающих основные процессы жизненного цикла ПО, прежде всего процессы разработки и сопровождения ПО. При создании проектов сложных информационных систем (ИС), состоящих из многих компонентов, каждый из которых может иметь разновидности или версии, возникает проблема учета их связей и функций, создания унифицированной структуры и обеспечения развития всей системы. Управление конфигурацией позволяет организовать, систематически учитывать и контролировать внесение изменений в ПО на всех стадиях ЖЦ.
Модель прототипа позволяет создать прототип ПП до или в течение этапа составления требований к ПП.
Потенциальные пользователи работают с этим прототипом, определяя его сильные и слабые стороны, о результатах сообщают разработчикам ПП. Таким образом, обеспечивается обратная связь между пользователями и разработчиками, которая используется для изменения или корректировки спецификации требований к ПП.
В результате такой работы продукт будет отражать реальные потребности пользователей.
Жизненный цикл разработки ПП начинается с разработки плана проекта, затем выполняется быстрый анализ, после чего создаются база данных, пользовательский интерфейс и выполняется разработка необходимых функций. В результате этой работы получается документ, содержащий частичную спецификацию требований к ПП. Данный документ в дальнейшем является основой для следующей итерации.
В результате каждой итерации разработчик демонстрирует пользователям готовый прототип, а пользователи оценивают его функционирование. После этого определяются проблемы, над устранением которых совместно работают пользователи и разработчики. Этот процесс продолжается до тех пор, пока пользователи не будут удовлетворены степенью соответствия ПП, поставленным перед ним требованиям. Затем прототип демонстрируют пользователям с целью получения предложений по его усовершенствованию, которые включаются в последовательные итерации до тех пор, пока рабочая модель не окажется удовлетворительной. После этого получают от пользователей официальное одобрение (утверждение) функциональных возможностей прототипа и выполняют его окончательное преобразование в готовый ПП.
Модель прототипа обладает целым рядом преимуществ:
- взаимодействие заказчика с разрабатываемой системой начинается на раннем этапе;
- благодаря реакции заказчика на прототип, сводится к минимуму число неточностей в требованиях;
- снижается вероятность возникновения путаницы, искажения информации или недоразумений при определении требований к ПП, что приводит к созданию более качественного ПП;
- в процессе разработки всегда можно учесть новые, даже неожиданные требования заказчика;
- прототип представляет собой формальную спецификацию, воплощенную в ПП;
- прототип позволяет очень гибко выполнять проектирование и разработку, включая несколько итераций на всех фазах жизненного цикла разработки;
- заказчик всегда видит прогресс в процессе разработки ПП;
- возможность возникновения противоречий между разработчиками и заказчиками сведена к минимуму;
- уменьшается число доработок, что снижает стоимость разработки;
- возникающие проблемы решаются на ранних стадиях, что резко сокращает расходы на их устранение;
- заказчики принимают участие в процессе разработки на протяжении всего жизненного цикла и в конечном итоге в большей степени довольны результатами работы.
3.2 Разработка программного продукта
Программный продукт для данной дипломной работы разработан на основе модели прототипа разработки ПО.
Разработана структура программного продукта, определены основные функциональные модули, выбрана среда для реализации.
В ходе реализации создан графический интерфейс пользователя, написан код программы, реализующий все её функции. Основные функции программы представлены в листингах 1 - 6.
Листинг 3.1 - Функция инициализации графического движка
int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{//установка поддержки русского языка
//передача движку служебной иформации
hge = hgeCreate(HGE_VERSION);//версия движка
hge->System_SetState(HGE_LOGFILE, "lsr.log");//лог-файл
hge->System_SetState(HGE_FRAMEFUNC, FrameFunc);//функция, содержащая логику
hge->System_SetState(HGE_RENDERFUNC,
hge->System_SetState(HGE_TITLE, "Lonely Space Ranger");//Заголовок окна
hge->System_SetState(HGE_WINDOWED,true);//Режим (на весь экран/в окне)
hge->System_SetState(HGE_SCREENWIDTH, 1024);//разрешение
hge->System_SetState(HGE_SCREENHEIGHT, 768);
hge->System_SetState(HGE_SCREENBPP, 32);//глубина цвета
hge->System_SetState(HGE_SHOWSPLASH, true);
hge->Random_Seed(hge->Random_Int(0,2000));//инициализация RNG
fnt=new hgeFont("Data/font1.fnt");//подгрузка шрифта
cursor=new hgeSprite(t_cursor,0,0,20,20);
fnt->printf(10,10,HGETEXT_LEFT,"",hero->health);
//определение положения курсора мыши
Физический движок Box2D, который используется реализации программы предполагает наличие в ней нескольких специальных функций: функция инициализации 2D пространства (листинг 3), слушатель контактов (листинг 4) и функция разрешения коллизий (листинг 5). Функция инициализации мира создает объекты, необходимые для проведения симуляции физических процессов, а так же инициализирует переменные. Слушатель контактов во время работы программы проверяет состояние мира, и, в случае обнаружения столкновения, вызывает процедуру его обработки. Функция разрешения коллизий предоставляет слушателю контактов пользовательский алгоритм обработки столкновений.
Листинг 3.3 - Функция инициализации 2D пространства
booldoSleep = true;//переменная обозначает, что разрешен переход объектов в режим сна для снижения загрузки
phWorld=new b2World(gravity, doSleep);
classContactListener : public b2ContactListener
//передача слушателю пользовательского алгоритма обработки столкновений
voidPreSolve(b2Contact* contact, const b2Manifold* oldManifold);
Листинг 3.5 - Функция разрешения коллизий
voidContactListener::PreSolve(b2Contact* contact, const b2Manifold* oldManifold)
//получение информации о столкновении
contact->GetWorldManifold(&worldManifold);
b2GetPointStates(state1, state2, oldManifold, contact->GetManifold());
//получение информации о столкнувшихся объектах
b2Body* bodyA = contact->GetFixtureA()->GetBody();
b2Body* bodyB = contact->GetFixtureB()->GetBody();
inf *infoA=((inf *)(bodyA->GetUserData())),*infoB=((inf *)(bodyB->GetUserData()));
//Следующие условия определяют реакцию на столкновение объектов различных типов
//При столкновении двух пуль обе уничтожаются
if( (infoA->type==BULLET)&&(infoB->type==BULLET) ) {((c_projectile*)(infoA->owner))->dispose=true; ((c_projectile*)(infoB->owner))->dispose=true;}
if( (infoA->type==ENEMY_BULLET)&&(infoB->type==ENEMY_BULLET) ) {((c_projectile*)(infoA->owner))->dispose=true; ((c_projectile*)(infoB->owner))->dispose=true;}
if( (infoA->type==ENEMY_BULLET)&&(infoB->type==BULLET) ) {((c_projectile*)(infoA->owner))->dispose=true; ((c_projectile*)(infoB->owner))->dispose=true;}
if( (infoA->type==BULLET)&&(infoB->type==ENEMY_BULLET) ) {((c_projectile*)(infoA->owner))->dispose=true; ((c_projectile*)(infoB->owner))->dispose=true;}
//При столкновении противника с пулей игрока противнику наносится урон
if( (infoA->type==BULLET)&&(infoB->type==ENEMY) ) {((c_enemy*)(infoB->owner))->health-=((c_projectile*)(infoA->owner))->damage; ((c_projectile*)(infoA->owner))->dispose=true;}
if( (infoB->type==BULLET)&&(infoA->type==ENEMY) ) {((c_enemy*)(infoA->owner))->health-=((c_projectile*)(infoB->owner))->damage; ((c_projectile*)(infoB->owner))->dispose=true;}
//При столкновении игрока с пулей противника игроку наносится урон
if( (infoA->type==ENEMY_BULLET)&&(infoB->type==PLAYER) ) {((c_player*)(infoB->owner))->health-=((c_projectile*)(infoA->owner))->damage; ((c_projectile*)(infoA->owner))->dispose=true;}
if( (infoB->type==ENEMY_BULLET)&&(infoA->type==PLAYER) ) {((c_player*)(infoA->owner))->health-=((c_projectile*)(infoB->owner))->damage; ((c_projectile*)(infoB->owner))->dispose=true;}
c_Menu::c_Menu(c_stateManager* _manager):c_state()
gui->AddCtrl(new hgeGUIMenuItem(1,fnt,500,300,0.0f,""));
gui->AddCtrl(new hgeGUIMenuItem(2,fnt,500,340,0.1f,""));
gui->AddCtrl(new hgeGUIMenuItem(3,fnt,500,380,0.2f,""));
gui->AddCtrl(new hgeGUIMenuItem(4,fnt,500,420,0.3f,""));
gui->SetNavMode(HGEGUI_UPDOWN | HGEGUI_CYCLED);
if(Settings) s_player->RenderEx(600,360,0,0.25);
if(hge->Input_KeyDown(HGEK_ESCAPE)) { lastid=4; gui->Leave();}
for(int i=4;i>0;gui->DelCtrl(i--));
gui->AddCtrl(new hgeGUIMenuItem(1,fnt,360,300,-1.0f," ",false,false));
gui->AddCtrl(new hgeGUIMenuItem(1,fnt,360,300,-1.0f," ",false,false));
gui->AddCtrl(new hgeGUIMenuItem(1,fnt,360,300,-1.0f," ",false,false));
gui->AddCtrl(new hgeGUIMenuItem(2,fnt,360,360,-1.0f,"",false,false));
gui->AddCtrl(new hgeGUIMenuItem(3,fnt,500,440,0.0f, "",false));
for(int i=4;i>0;gui->DelCtrl(i--));
gui->AddCtrl(new hgeGUIMenuItem(1,fnt,500,300,-1.0f," false,true,true));
gui->AddCtrl(new hgeGUIMenuItem(2,fnt,500,340,-1.0f,tt,false,true,true));
gui->AddCtrl(new hgeGUIMenuItem(3,fnt,500,440,0.0f, "",false));
else if(id) { lastid=id; gui->Leave(); }
if(hge->Input_KeyDown(HGEK_ESCAPE)) { lastid=3; gui->Leave();}
((hgeGUIMenuItem*)gui->GetCtrl(1))->title=" ";
((hgeGUIMenuItem*)gui->GetCtrl(1))->title=" ";
((hgeGUIMenuItem*)gui->GetCtrl(1))->title=" ";
s_player->SetTextureRect(200*Model,0,200,200);
for(int i=3;i>0;gui->DelCtrl(i--));
gui->AddCtrl(new hgeGUIMenuItem(1,fnt,500,300,0.0f," "));
gui->AddCtrl(new hgeGUIMenuItem(2,fnt,500,340,0.1f," "));
hgeGUIMenuItem(3,fnt,500,380,0.2f,"Счет"));
gui->AddCtrl(new hgeGUIMenuItem(4,fnt,500,420,0.3f," "));
else if(id) { lastid=id; gui->Leave(); }
if(hge->Input_KeyDown(HGEK_ESCAPE)) { lastid=3; gui->Leave();}
for(int i=3;i>0;gui->DelCtrl(i--));
gui->AddCtrl(new hgeGUIMenuItem(1,fnt,500,300,0.0f,""));
gui->AddCtrl(new hgeGUIMenuItem(2,fnt,500,340,0.1f,""));
gui->AddCtrl(new hgeGUIMenuItem(3,fnt,500,380,0.2f,"Счет"));
gui->AddCtrl(new hgeGUIMenuItem(4,fnt,500,420,0.3f,""));
else if(id) { lastid=id; gui->Leave(); }
В третьем разделе выбрана модель прототипа для проектирования программного продукта, в соответствии с которой разработан программный продукт «LonelySpaceRanger». Код программы представлен на языке VisualС++. Данный ПП удовлетворяет всем требованиям заказчика, устойчив к сбоям, корректно работает под ОС Windows.
4. Экономическое обоснование разработки программного продукта
4.1 Характеристика программного продукта
В дипломной работе рассчитывается цена программного продукта «LonelySpaceRanger», для использования его в учебных заведениях и частными лицами.
Программный продукт позволяет реализовать определенные функции: реализм физических взаимодействий между объектами, удобный интерфейс позволяющий выбирать пользовательские настройки, использовать его для разработки более сложных программ.
Достоинства программного продукта состоит в его полезности, удобном интерфейсе, реализации и эксплуатации.
Для разработки программного продукта были использованные следующие носители: флеш карты, диски, дискеты.
- ОС (операционные системы): MS Windows., Windows SP;
- ПО для работы с электронными таблицами: MS Excel;
- Программы работы с изображениями: Adobe Photoshop, Corel DRAW Graphics Suite, векторный редактор Draw; (в составе Openоffice), другие;
- Широкий выбор антивирусов и фаерволов.
Программное обеспечение -- совокупность программ, процедур и правил, а также документации, относящихся к функционированию системы обработки данных (СТ ИСО 2382/1-84).
Программное обеспечение является одним из видов обеспечения вычислительной системы, наряду с техническим (аппаратным), математическим, информационным, лингвистическим, организационным и методическим обеспечением.
Программное обеспечение принято по назначению подразделять на системное, прикладное и инструментальное, а по способу распространения и использования на несвободное и закрытое, открытое и свободное. Свободное программное обеспечение может распространяться, устанавливаться и использоваться на любых компьютерах дома, в офисах, школах, вузах, а также коммерческих и государственных учреждениях без ограничений.
Для написания программного продукта "LonelySpaceRanger" был использован язык Visual С++, потому что в этом языке очень удобный интерфейс (возможность создавать и использовать модули различных типов).
Таблица 4.1 - Сегментация потенциальных пользователей
Таблица 4.1 показала что наибольшим спросом товар будет пользоваться в первом квартале года и основная масса спроса будет направлена на учебные заведения, во втором квартале будет наибольший спрос у частных лиц.
В данном разделе определяются необходимые инвестиции для разработки и реализации программного продукта. С этой целью производится расчет необходимых единовременных и текущих затрат.
В структуре единовременных затрат (З к ) связанных с разработкой программного продукта, в общем виде выделяются капитальные затраты (К), включающие за
Проектирование игрового симулятора дипломная работа. Программирование, компьютеры и кибернетика.
Как Оформлять Эссе В Тетради
Таблица Сочинений По Истории
Реферат: I ВСТУПЛЕНИЕ
Контрольная работа по теме Проектування друкованих плат
Разговор С Собой Сочинение Олеся
Можно Ли Листок Назвать Сильным Мини Сочинение
Реферат по теме Природоохранное законодательство России
Формирование Двигательных Умений И Навыков Реферат
Автореферат На Тему Диференційна Діагностика Та Терапевтичне Лікування Еректильної Дисфункції Судинного Генезу
Реферат по теме Проблема неплатежей в РФ
Реферат: Средства пожаротушения
Реферат На Тему Речевое Общение
Курсовая Работа На Тему Автоматизация Сушильно-Промывной Линии Лпс-120
Реферат по теме Роль Центрального банка в банковской системе
Дипломная Работа На Тему Комп’Ютерна Підтримка Уроків Математики У Початковій Школі
Реферат по теме Blue Ray
Дневник Практики Учитель Английского
Структура Учебного Реферата Этапы Работы Критерии Оценки
Реферат: Местного самоуправления и демократии в Республике Беларусь на современном этапе
Курсовая работа по теме Изучение тувинского фольклора как средства формирования экологической культуры младших школьников
Внешнеэкономические связи и валютный курс - Международные отношения и мировая экономика контрольная работа
Мотивация сотрудников предприятия - Менеджмент и трудовые отношения курсовая работа
Динамика флоры окрестностей Павловской слободы - Биология и естествознание дипломная работа


Report Page