Мультимедийная система обучения правилам пожарной безопасности

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование

?ледующее состояние.

Все переходы являются необратимыми, нельзя отменить выполнение задачи (это закладывается в действиях входа или выхода, а также в поведении объектов).

На рисунке 3.1 проиллюстрирована структура схемы сценария.

 

Рисунок 3.1 - Структура схемы сценария (граф состояний)

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

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

Схемы сценария в отличие от сцен не являются фиксированными, они хранятся в базе данных. Для создания и редактирования схем и предусмотрен редактор сценариев.

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

Условия перехода и действия входа и выхода задаются в виде скрипта на интерпретируемом языке программирования. Для выполнения скриптов в проекте реализован интерпретатор скриптов.

Внутри скрипта доступны все объекты сцены и их свойства. Код скрипта предметно ориентирован и оперирует высокоуровневыми объектами. Поэтому на нем могут писать люди, практически не имеющие навыков программирования.

Приведем пример скрипта для условия перехода (текст представлен на русском языке для облегчения понимания, в действительности используется английский язык). Нам нужно выполнить задание: попытаться потушить пожар огнетушителем, в случае неудачи нужно срочно покинуть помещение. На сцене будут объекты огонь и огнетушитель. Тогда условие перехода из состояния Попытайтесь потушить пожар огнетушителем в состояние Покиньте помещение может быть следующим: вернуть (огнетушитель. использован) и (огнетушитель. запас_огнетушащего_вещества = 0) и (огонь. горит). То есть переход осуществляется, если мы воспользовались огнетушителем и полностью израсходовали его запас огнетушащего вещества, а огонь продолжает гореть.

Ограничение по времени, уровень здоровья

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

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

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

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

Если сценарий будет провален, по его завершению будет выведена информация о причине провала.

Принципы работы обучающих сценариев в режимах демонстрации и проверки знаний

Прохождение сценария может выполняться в двух режимах: обучение и проверка знаний. В режиме обучения обучаемый должен изучить сценарий и подготовиться к проверке знаний. В режиме проверки знаний он проходит сценарий на оценку. Рассмотрим подробнее различия режимов.

Особенности режима обучения:

формулировка текущего задания показывается на экране;

нет ограничения на время выполнения сценария (однако счетчик времени продолжает работать, по истечении отведенного на сценарий времени, обучаемый будет уведомлен об этом);

персонаж обучаемого не может погибнуть (однако уровень здоровья может упасть до нуля, тогда обучаемый будет уведомлен о том, что он мог бы умереть в такой ситуации);

обучаемый может получить справку по объектам сцены.

Особенности режима проверки знаний:

формулировка текущего задания не показывается на экране, обучаемый должен сам знать, что ему делать дальше;

если время, отведенное на выполнения сценария, истечет, сценарий будет провален;

если уровень здоровья персонажа обучаемого упадет до нуля, сценарий будет провален;

обучаемый не может получить справку по объектам сцены.

Интерпретатор скриптов

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

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

Синтаксис языка включает следующие элементы (запись элементов полностью аналогична языку С# и потому не приводится):

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

оператор объявление локальной переменной с присвоением начального значения;

оператор присваивания лока?/p>