- Вывод текста
- Программирование
- Оформление
- Расширенные возможности
- Нюансы написания игр под разные плееры
-
- x AeroQSP
- Утилиты и средства разработки
Это старая версия документа.
!обработка локации "ход". Массив ARGS пуст. GS 'ход' !обработка локации с названием из переменной $loc !Передаётся один параметр - ARGS[0] равен 1. GS $loc,1 !обработка локации "ход" с передачей 3-х параметров. ! $ARGS[0] = $var (значению), ARGS[1] = 2, ! $ARGS[2] = "данные". Обратите внимание на символы '$'. GS 'ход',$var,2,'данные'
FUNC([$выражение],[параметр 1],[параметр 2], …) - обработка локации с названием [$выражение]. Указанные параметры передаются в массиве ARGS. Результат функции равен значению $RESULT при возврате строкового значения или RESULT при возврате числового значения. Если при обработке локации были установлены и RESULT, и $RESULT, то предпочтение отдаётся строковому значению. После обработки локации предыдущие значения ARGS и RESULT восстанавливаются. Примеры: PL 4 + FUNC('функция') - обработка локации "функция" как функции. Массив ARGS пуст. Результат передается через $RESULT или RESULT, в зависимости от кода обрабатываемой локации. PL FUNC($name, 1) * 78 - обработка локации с названием в $name как функции. ARGS[0] равен 1. MSG "text" + FUNC($name, "строка", 2) - обработка локации с названием в $name как функции. $ARGS[0] содержит строку "строка", ARGS[1] равен 2.
EXIT - завершение выполнения текущего кода (преждевременный выход из подпрограммы / обработчика какого-либо события…).
JUMP [$выражение] - переход в текущем коде (при обработке локации / выбора действия) на метку [$выражение]. Метка на локации обозначается как ":[название метки]". После описания метки (через "&") могут идти операторы. Если интерпретатор находит случайную метку, то он её просто игнорирует. Например:
jump 'КонеЦ'
p 'Это сообщение не будет выведено'
:конец
p 'А это сообщение пользователь увидит'
С помощью оператора "JUMP" можно организовывать циклы:
s=0
:loop
if s<9:
s=s+1
pl s
jump 'LOOP'
end
p 'Всё!'
Оператор "JUMP" также полезен во время отладки квеста, чтобы "обойти" группу операторов, которые временно не нужны.