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

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
62
- с помощью редактора игрового контента информация
преобразуется в файлы формата XML и сохраняется на общий
информационный ресурс;
- участники игрового процесса запускают игровой клиент, в который
автоматически загружается информация из подготовленного игрового
контента;
- происходит игровой процесс, результатом которого является отчет
в виде достижений каждой команды-участницы.
2.2.2. Характеристика нормативно-справочной, входной и
оперативной информации
Как говорилось выше, разрабатываемый проект состоит из двух
модулей. Рассмотрим, какая же вводная информация используется в
каждом из них.
Редактор игрового контента:
1) позволяет добавить тему новой игры, при этом создается папка, в
которую затем помещаются данные в виде xml файлов;
2) позволяет добавить, изменить или удалить вопросы, для это
необходимо заполнить следующие текстовые поля:
- вопрос;
- ответ;
- историческая справка.
3) позволяет добавить изменить или удалить викторину, для это
необходимо заполнить следующие текстовые поля:
- вопрос;
- три варианта ответа;
- задать правильный ответ.
Игровой клиент, при запуске, считывает данные из сетевой папки и
предоставляет организатору (в данном случае, педагогу):
- выбрать тему текущей игры;
- выбрать количество команд-участниц;
63
- задать названия команд-участниц;
- выбрать игрового персонажа;
- определить очередность хода всех команд-участниц.
2.2.3. Характеристика результатной информации
В ходе игрового процесса команды-участницы отвечают на
отдельные вопросы или вопросы викторины, участвуют в случайных
событиях, появляющихся на игровом поле. За все эти действия команды-
участницы получают игровые очки и монеты. Результативная информация
выводится по окончании игры в разрезе команд-участниц.
2.3. Программное обеспечение задачи
2.3.1. Общие положения (дерево функций и сценарий диалога)
Так как разрабатываемый проект состоит из двух модулей, то стоит
рассмотреть функции проекта в целом, как клиентской части, так и
редактора игрового контента.
Дерево функций проекта представлено на рисунке 2.3.
64
Рисунок 2.3 Дерево функций проекта
Редактор предназначен для создания игрового контента педагогами и
включает в себя следующие функции:
- добавление темы игры, вопросов и викторины;
- редактирование темы игры, вопросов и викторины;
- удаление темы игры, вопросов и викторины;
- сохранение всех данных в формате XML.
Клиентская часть позволяет использовать созданный в редакторе
контент в игровом процессе и позволяет:
- выбрать тему;
- добавлять названия команд-участниц;
- выбрать персонажа;
- задать очередности ходов;
65
- бросать кубик при игровом процессе;
- выбирать ответ на вопрос;
- получать награды за свои действия;
- выводить результат игры, позволяющий оценить каждую команду.
2.3.2. Структура XML файлов игрового контента
XML (Extensible Markup Language) — это язык разметки текста.
Разметкой является все, что не относится к содержанию, или, как модно
говорить, контенту: структура документа, формат, вид и так далее.
Разметка осуществляется с помощью тегов — управляющих элементов,
заключенных в угловые скобки. Теги в XML всегда парные: открывающий
тег записывается перед размечаемым фрагментом, а закрывающий —
после него. Закрывающий тег выглядит так же, как открывающий, но
предваряется косой чертой, например:
<summary> Класс для работы с регулярными выражениями
</summary>
В тегах могут присутствовать атрибуты — элементы вида имя =
значение, уточняющие и дополняющие описание элемента.
Язык XML широко распространен в Интернете благодаря его
универсальности и переносимости. Корпоративные приложения
используют XML как основной формат для обмена данными. Строго
говоря, XML является не языком, а системой правил для описания языков.
[9]
Формат XML обладает большим количеством достоинств, в связи с
которыми данный формат и был выбран для создания контента:
- существует большое количество библиотек, направленных на
работу с форматом XML;
- легко читается и понимается человеком;
- позволяет описывать сложные структуры данных с неограниченной
вложенностью;
66
- для редактирования данных можно воспользоваться простейшими
текстовыми редакторами;
- обладает расширяемостью, а именно возможностью добавлять
новые теги, не нарушая работу остальных.
Вышеперечисленные преимущества определяют выбор данного
формата для разрабатываемого проекта. Предполагается использовать
файлы XML формата со структурой двух видов, которые представлены в
таблицах 2.4 и 2.5.
Таблица 2.4
Структура файла data_questions.xml
Тег
Описание
<?xml version="1.0" encoding="utf-
8"?>
Это XML декларация. Здесь
определяется версия XML (1.0) и
кодировка файла «utf-8».
<MySerialize>
Корневой элемент документа
<question_0>
Дочерний элемент корневого
элемента. Открывающий тег,
определяющий номер вопроса.
<question>Вопрос</question>
Дочерний элемент элемента
<question_0>, в который записывается
вопрос.
<answer>Ответ</answer>
Дочерний элемент элемента
<question_0>, в который записывается
ответ.
<history>Историческая справка</
history >
Дочерний элемент элемента
<question_0>, в который записывается
историческая справка.
</question_0>
Дочерний элемент корневого
элемента. Закрывающий тег,
67
определяющий номер вопроса.
</MySerialize>
Закрывающий тег корневого элемента
Таблица 2.5
Структура файла data_quiz.xml
Тег
Описание
<?xml version="1.0" encoding="utf-8"?>
Это XML декларация. Здесь
определяется версия XML
(1.0) и кодировка файла «utf-
8».
<MySerialize>
Корневой элемент документа
<question_0>
Дочерний элемент корневого
элемента. Открывающий тег,
определяющий номер
вопроса.
<question>Вопрос</question>
Дочерний элемент элемента
<question_0>, в который
записывается вопрос.
<answer_1
check="False">Ответ_1</answer_1>
<answer_2
check="True">Ответ_2</answer_2>
<answer_3
check="False">Ответ_3</answer_3>
Дочерние элементы элемента
<question_0>, в которые
записываются варианты
ответа, при этом добавляется
атрибут «check», который
определяет правильность
ответа путем установления
булева значения.
</question_0>
Дочерний элемент корневого
элемента. Закрывающий тег,
определяющий номер
68
вопроса.
</MySerialize>
Закрывающий тег корневого
элемента
2.3.3. Структурная схема пакета (дерево вызова программных
модулей)
Разрабатываемый проект включает два модуля: редактор игрового
контента и клиент. Редактор представляет собой desktop-приложение,
разработанное в среде разработки Visual Studio на языке
программирования высокого уровня C#, позволяющее пользователям
вводить текстовые данные (вопросы, ответы, викторины) и формировать
готовый файл контента в формате XML. Клиент представляет собой
desktop-приложение, разработанное на игровом движке Unity3D с
помощью языка программирования высокого уровня C#, позволяющее
проводить интеллектуальные игры на основе контента, подготовленного в
редакторе.
Структурная форма пакета представлена на рисунке 2.4, а описание
модулей и функций в таблице 2.6.
Главная форма
редактора
Форма добавления
новой темы игры
Модуль добавления
вопросов
Модуль добавления
викторины
Модуль сохранения
в формат XML
Модуль главного
меню клиента
редактора
Модуль игрового
процесса
Модуль результата
игры
Модуль игрока
69
Рисунок 2.4 Структурная форма пакета
Таблица 2.6
Описание модулей и функций
п/п
Наименование модуля
Функции модуля
1
Главная форма редактора
Содержит визуальные элементы
для добавления, удаления и выбора
темы, добавления вопросов и
викторин, сохранения в формат
XML.
2
Форма добавления новой темы
игры
Представляет собой модальную
форму, позволяющую создать
новую тему игры (папку) для
последующего создания контента.
3
Модуль добавления вопросов
Позволяет добавить или удалить
вопросы, ответы на них, а также
историческую справку по данному
вопросу.
4
Модуль добавления
викторины
Позволяет добавить или удалить
вопросы викторины, варианты
ответов и поставить «флаг» на
правильном ответе.
5
Модуль сохранения в формате
XML
Позволяет сохранить всю
введенную информацию в файлы
формата XML определенной
70
структуры для каждого типа
контента: вопросы или викторина.
Далее эти файлы информация
подгружаются в клиент игры.
6
Модуль главного меню
клиента игры
Позволяет выбрать контент (тему
игры), подготовленный в
редакторе, задать количество
команд-участниц, задать имена
команд, выбрать персонажа.
7
Модуль игрового процесса
Отображает игровое поле и
статистику игрового процесса в
реальном времени. Содержит
процедуры подсчета игровой
статистики.
8
Модуль игрока
Содержит процедуры
передвижения игроков по игровому
полю.
9
Модуль результата игры
Выводит результат на основе
статистических данных из модуля
игрового процесса.
2.3.4. Описание программных модулей
Для описания работы проекта необходимо описание основного
модуля редактора и модуля игрового процесса клиента. Данные блок-
схемы представлены на рисунках 2.5 и 2.6 соответственно.
71
Рисунок 2.5 Блок – схема редактора игрового контента

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

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