Здесь показаны различия между двумя версиями данной страницы.
Both sides previous revision Предыдущая версия Следущая версия | Предыдущая версия | ||
help:jump [2013/11/01 12:58] newsash |
help:jump [2020/08/12 19:16] aleks_versus |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | [[help:organizing|Назад: Упорядочивание кода]] | + | [[help:organizing|Назад: Пользовательские функции и процедуры]] |
=====Переходы внутри локации, циклы===== | =====Переходы внутри локации, циклы===== | ||
- | JUMP [$выражение] - переход в текущем коде (при обработке локации / выбора действия) на метку [$выражение]. Метка на локации обозначается как ":[название метки]". После описания метки (через "&") могут идти операторы. Если интерпретатор находит случайную метку, то он её просто игнорирует. Например: | + | * **JUMP** //[$метка]// - переход в текущем блоке кода на метку //[$метка]//. |
- | + | * Метка обозначается как ":[название метки]". После описания метки (через "&") могут идти операторы. | |
- | + | * Отдельными блоками кода считаются: | |
+ | * Код "Выполнить при посещении" конкретной локации | ||
+ | * Каждая локация - отдельный блок кода | ||
+ | * Код действия даже если действие добавлено программно. | ||
+ | * Код в html-ссылке((<a href="EXEC: !код">ссылка</a>)). | ||
+ | * Код DYNAMIC/DYNEVAL | ||
+ | * //Пример://<sxh qsp> | ||
jump 'КонеЦ' | jump 'КонеЦ' | ||
- | |||
p 'Это сообщение не будет выведено' | p 'Это сообщение не будет выведено' | ||
- | |||
:конец | :конец | ||
- | |||
p 'А это сообщение пользователь увидит' | p 'А это сообщение пользователь увидит' | ||
+ | </sxh> | ||
+ | ====Циклы==== | ||
С помощью оператора "JUMP" можно организовывать циклы: | С помощью оператора "JUMP" можно организовывать циклы: | ||
- | + | <sxh qsp> | |
- | + | ||
s=0 | s=0 | ||
- | |||
:loop | :loop | ||
- | |||
if s<9: | if s<9: | ||
- | + | s=s+1 | |
- | s=s+1 | + | pl s |
- | + | jump 'loop' | |
- | pl s | + | |
- | + | ||
- | jump 'LOOP' | + | |
end | end | ||
- | |||
p 'Всё!' | p 'Всё!' | ||
+ | </sxh> | ||
- | + | Двойной цикл с одной меткой: | |
- | + | ||
- | Оператор "JUMP" также полезен во время отладки квеста, чтобы "обойти" группу операторов, которые временно не нужны. | + | |
- | + | ||
- | + | ||
- | Двойной цикл с одной меткой | + | |
<sxh qsp> | <sxh qsp> | ||
:loop | :loop | ||
Строка 55: | Строка 45: | ||
end | end | ||
</sxh> | </sxh> | ||
+ | ---- | ||
+ | [[help:principle|Вперёд: Порядок работы интерпретатора]] |