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

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


help:jump

Различия

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

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

Both sides previous revision Предыдущая версия
Следущая версия
Предыдущая версия
help:jump [2013/11/01 12:53]
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>​
  
- +Двойной цикл с одной меткой: 
- +<sxh qsp> 
-Оператор "​JUMP"​ также полезен во время отладки квеста, чтобы "обойти" группу ​операторов, которые временно не нужны.+:loop 
 +if y<y0: 
 +  if x<x0: 
 +    ............ 
 +    x=x+1 
 +    jump '​loop'​ 
 +  end 
 +  y=y+1 
 +  x=0 
 +  jump '​loop'​ 
 +end 
 +</​sxh>​ 
 +---- 
 +[[help:​principle|Вперёд: Порядок работы ​интерпретатора]]
help/jump.1383296031.txt.gz · Последние изменения: 2013/11/01 16:53 (внешнее изменение)