Инструменты пользователя

Инструменты сайта


help:transitions

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Следущая версия
Предыдущая версия
help:transitions [2013/10/10 07:00]
newsash создано
— (текущий)
Строка 1: Строка 1:
-=====Переходы===== 
- 
-EXIT - завершение выполнения текущего кода (преждевременный выход из подпрограммы / обработчика какого-либо события...). 
- 
- 
- 
-JUMP [$выражение] - переход в текущем коде (при обработке локации / выбора действия) на метку [$выражение]. Метка на локации обозначается как ":​[название метки]"​. После описания метки (через "&"​) могут идти операторы. Если интерпретатор находит случайную метку, то он её просто игнорирует. Например:​ 
- 
- 
- 
-jump '​КонеЦ'​ 
- 
-p '​Это сообщение не будет выведено'​ 
- 
-:конец 
- 
-p 'А это сообщение пользователь увидит'​ 
- 
- 
- 
-С помощью оператора "​JUMP"​ можно организовывать циклы: 
- 
- 
- 
-s=0 
- 
-:loop 
- 
-if s<9: 
- 
-s=s+1 
- 
-pl s 
- 
-jump '​LOOP'​ 
- 
-end 
- 
-p '​Всё!'​ 
- 
- 
- 
-Оператор "​JUMP"​ также полезен во время отладки квеста,​ чтобы "​обойти"​ группу операторов,​ которые временно не нужны. 
- 
- 
- 
-GOSUB [$выражение],​[параметр 1],​[параметр 2], ... или GS [$выражение],​[параметр 1],​[параметр 2], ... - обработка локации с названием [$выражение]. Базовое описание локации добавляется к текущему описанию,​ базовые действия добавляются к текущим действиям,​ и происходит выполнение операторов в поле "​Выполнить при посещении",​ затем возврат на исходную строку (продолжение выполнения программы). 
- 
-Переданные параметры хранятся в массиве ARGS. После обработки локации предыдущие значения ARGS восстанавливаются. Примеры:​ 
- 
- 
- 
-GS '​ход'​ - обработка локации "​ход"​. Массив ARGS пуст. 
- 
-GS $loc,1 - обработка локации,​ название которой хранится в $loc с передачей одного параметра. ARGS[0] равен 1. 
- 
-GS '​ход',​$var,​2,'​данные'​ - обработка локации "​ход"​ с передачей 3-х параметров. $ARGS[0] равен значению $var, ARGS[1] равен 2, $ARGS[2] содержит строку "​данные"​. 
- 
- 
- 
-GOTO [$выражение],​[параметр 1],​[параметр 2], ... или GT [$выражение],​[параметр 1],​[параметр 2], ... - переход на локацию с названием [$выражение]. Поле основного описания локации,​ а также список текущих действий заменяются описанием и действиями новой локации. 
- 
-Переданные параметры хранятся в массиве ARGS. Примеры:​ 
- 
- 
- 
-GT '​локация'​ - переход на локацию "​локация"​. Массив ARGS пуст. 
- 
-GT '​локация',​1,'​данные'​ - переход на локацию "​локация"​ с передачей 2-х параметров. ARGS[0] равен 1, $ARGS[1] содержит строку "​данные"​. 
- 
- 
- 
-См. также локацию-обработчик перехода на новую локацию. 
- 
- 
- 
-XGOTO [$выражение],​[параметр 1],​[параметр 2], ... или XGT [$выражение],​[параметр 1],​[параметр 2], ... - отличается от "GOTO / GT" тем, что при переходе не очищается поле основного описания локации,​ а базовое описание новой локации добавляется к текущему основному описанию. Тем не менее, список действий заменяется действиями новой локации. См. также локацию-обработчик перехода на новую локацию. 
- 
- 
- 
-PS: 
- 
-При обработке локаций по GOSUB, а также локаций,​ на которые указывают пункты пользовательского меню и системные переменные ($COUNTER, $USERCOM, $ONGLOAD, $ONGSAVE, $ONNEWLOC, $ONACTSEL, $ONOBJSEL, $ONOBJADD, $ONOBJDEL), учитываются базовые описания и действия на локациях (при отсутствии действий с такими же названиями - к текущим действиям добавляются базовые действия обрабатываемой локации,​ базовое описание локации добавляется к текущему основному описанию). Аналогично,​ при вызовах XGOTO, к текущему основному описанию добавляется базовое описание локации,​ на которую произошёл переход. 
- 
- 
- 
  
help/transitions.1381388451.txt.gz · Последние изменения: 2013/10/10 11:00 (внешнее изменение)