Диплом: Разработка прототипа программного обеспечения на игровом движке UNITY3D

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
72
Рисунок 2.6 Блок – схема модуля игрового процесса клиента
2.4. Контрольный пример реализации проекта и его описание
Рассмотрим контрольный пример реализации создаваемого проекта.
Работа с данным проектом начинается с создания игрового контента
в редакторе, разработанном в среде разработки Visual Studio 2017
Community на языке программирования высокого уровня C#. Игровой
73
контент представляется собой текстовую информацию, которая вводится
пользователем, а на выходе сохраняется в формат XML.
Редактор имеет довольно простой интерфейс и не перегружен
лишним функционалом, однако, при необходимости функциональность
можно расширить. Главное окно редактора игрового контента
представлено на рисунке 2.7.
Рисунок 2.7 Главное окно редактора игрового контента
Первым этапом работы в редакторе является создание темы
интеллектуальной игры. Данная процедура осуществляется нажатием на
кнопку «Добавить тему». В результате этого появляется модальная форма
создания темы, которая представлена на рисунке 2.8.
Рисунок 2.8 Модальная форма создания новой темы
После ввода названия темы игры необходимо нажать кнопку
«Сохранить», в результате чего будет создана папка с названием темы в
74
директории Data и отобразится в левой части интерфейса главного окна
программы как показано на рисунке 2.9.
Рисунок 2.9 Главное окно редактора после создания темы
Следующим этапом является создание вопросов и викторин, которые
и являются тем самым контентом для проведения интеллектуальной игры.
Чтобы создать вопрос необходимо нажать кнопку «Добавить
вопрос», в результате чего на вкладке «Вопросы» создается компонент
«GroupBox» с тестовыми полями: вопрос, ответ и историческая справка.
Также, существует возможность удалить какой-либо вопрос, если нажать
на кнопку с изображением красного крестика, в результате чего вопрос
будет отмечен пометкой «Помечен на удаление» и окрасится в красный
цвет, что и представлено на рисунке 2.10.
75
Рисунок 2.10 Главное окно редактора после создания вопроса
Стоит отметить, что при повторном нажатии на кнопку удаления
вопроса флаг «Помечен на удаление» убирается, как и окрас красного
цвета. Количество вопросов для создания не ограничено, однако на данный
момент клиент игры рассчитан на 32 вопроса.
Чтобы сохранить все введенные данные в формате XML достаточно
нажать кнопку «Сохранить вопросы», в результате чего в папке с
выбранной темой создается файл data_questions.xml, который можно будет
загрузить в клиентскую часть игры.
Чтобы создать викторину, необходимо нажать на кнопку «Добавить
викторину», в результате чего мы переключимся на вкладку «Викторина»,
где создается компонент «GroupBox» с текстовыми полями, позволяющих
ввести вопрос и три варианта ответа, также выбрать один из ответов как
правильный. Как и в случае с разделом «Вопросы», викторину также
можно пометить на удаление. Результат представлен на рисунке 2.11.
76
Рисунок 2.11 Главное окно редактора после создания викторины
Чтобы сохранить все введенные данные в формате XML достаточно
нажать кнопку «Сохранить викторину», в результате чего в папке с
выбранной темой создается файл data_quiz.xml, который можно будет
загрузить в клиентскую часть игры.
После подготовки всех необходимых файлов необходимо
скопировать папку с темой в клиентскую часть игры, а именно в папку
Data.
После запуска клиента игры появляется главное меню, которое
позволяет выбрать тему предстоящей игры и количество команд-участниц,
задать название каждой команде, выбрать персонажа, разыграть
очередность хода. После предварительной настройки необходимо нажать
кнопку «Старт», чтобы начать игру. Главное меню представлено на
рисунке 2.12.
77
Рисунок 2.12 Главное меню игры
После этого перед игроками появляется игровое поле и панель
результатов, представленное на рисунке 2.13. Игровое поле содержит
точки, по которым передвигаются команды-участницы, каждая точка
содержит какое-либо событие, которое наступает в случае остановки
команды-участницы в этой точке. Такими событиями являются вопросы,
отмеченные цифрами, викторины, наступающие в том случае, если данный
вопрос уже был взят, и случайные события (восклицательные знаки).
Рисунок 2.13 Игровое поле и панель результатов
Вначале хода предлагается бросить кубик, представленный на
рисунке 2.14. После броска происходит расчет случайного числа от 1 до 6
78
и срабатывает соответствующая анимация, затем игрок перемещается на
выпавшее число.
Рисунок 2.14 Окно броска кубика
Когда игроки попадают на точки с событиями, то происходит так
называемая XML–сериализация, то есть преобразование структуры XML в
последовательность битов. В этом случае, данные, подготовленные в
редакторе загружаются в соответствующие текстовые поля, а кнопки
динамически получают определенные действия через делегаты, то есть
указатели на методы.
Теперь более подробно рассмотрим окна событий.
Окно вопроса показано на рисунке 2.15 и содержит подсказку на
название команды, для которой он предназначен. После того, как команда
дает ответ, ведущий нажимает на кнопку «Показать ответ»,
79
Рисунок 2.15 Окно вопроса
После этого появляется правильный ответ, показанный на рисунке
2.16, ведущий определяет насколько близко команда была в своем ответе и
принимает решение о правильности ответа. Если ответ правильный, то
команда получает некоторое количество монет и очков. Данная
информация автоматически учитывается в окне результатов.
Рисунок 2.16 Окно ответа
Если команда попадает на вопрос, который уже был разыгран, то
срабатывает метод розыгрыша викторины, которая представлена на
рисунке 2.17.
80
Рисунок 2.17 Окно викторины
Команда решает какой ответ выбрать и в случае правильного ответа
получает награду.
Также существуют статичные и случайные события, которые
показаны на рисунках 2.18 и 2.19 соответственно. Статичные события
связаны какими-либо персонажами или окрестностями и предполагают
покупку каких-либо услуг, а случайные события – ориентированы на
варианты мгновенного передвижения или получения/траты монет.
Рисунок 2.18 Окно статичного события
81
Рисунок 2.19 Окно случайного события
Когда команда достигает финиша, она не прекращает игру. Команда
может отвечать на вопросы викторины, но в случае неправильного ответа
будет терять большое количество монет.
Когда все команды достигают финиша, игра заканчивается и
появляется окно результатов игры, в котором отображаются достижения
каждой команды и рассчитывается итоговое количество очков. Окно
результатов игры показано на рисунке 2.20.
Рисунок 2.20 Окно результатов игры
Листинг главного модуля редактора приведен в Приложении А, а
листинг главного модуля клиента игры приведен Приложении Б.

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)
Value-based education: ценности в системе образования и способы их реализации на уроке английского языка. Опыт Европейских стран