Базовые операторы языка QSP

Содержание  Previous  Next

! - оператор комментария. То, что находится в данной строке после оператора комментария, и до конца строки игнорируется интерпретатором. Оператор комментария позволяет "закомментировать" (выключить) ненужный временно оператор / функцию во время отладки игры. Кроме того, написание комментариев к коду программы является одним из признаков хорошего стиля программирования.

В операторе комментария поддерживаются преформатированные строки. Примеры:

 

 ! это комментарий без преформатированных строк

 !"а этот комментарий

 содержит преформатированную

 строку"

 !"

 и этот

 тоже

 "

 a = 3 & ! а также 'вот

         этот'

 

*P [выражение] - вывод текста в основное окно описаний (по умолчанию находится слева сверху и не может быть отключено).

 

*PL [выражение] - вывод текста, затем переход на новую строку в основном окне описаний. Если [выражение] не указано, то перевод строки. Аналогичным образом можно вывести текст, просто написав нужное выражение вместо данного оператора. Например, строки

 

 *PL $AAA+'989'

 *PL 'Вы находитесь в парке'

 *PL 'Преформатированная

         строка'

 

и

 

 $AAA+'989'

 'Вы находитесь в парке'

 'Преформатированная

         строка'

 

выполнят одно и то же действие.

 

*NL [выражение] - переход на новую строку, затем вывод текста в основном окне описаний. Если [выражение] не указано, то перевод строки. Отличается от *PL порядком вывода текста.

 

*CLEAR или *CLR - очистка основного окна описаний.

 

P [выражение] - вывод текста в окно пользователя (по умолчанию находится справа внизу, обычно служит для вспомогательных целей).

 

PL [выражение] - вывод текста, затем переход на новую строку в окне пользователя. Если [выражение] не указано, то перевод строки.

 

NL [выражение] - переход на новую строку (перевод каретки), затем вывод текста в окне пользователя. Если [выражение] не указано, то перевод строки. Отличается от PL порядком вывода текста.

 

CLEAR или CLR - очистка окна пользователя.

 

CMDCLEAR или CMDCLR - очистка строки ввода.

 

CLS - эквивалентен конструкции "CLEAR & *CLEAR & CLA & CMDCLEAR", т.е. очищает всё, кроме списка предметов.

 

MSG [выражение] - вывод заданного сообщения в информационном окне.

 

WAIT [#выражение] - остановка выполнения программы на заданное количество миллисекунд (1 секунда = 1000 миллисекунд).

 

MENU [$выражение] - вызов меню с заданным названием (см. раздел "Создание меню для предметов").

 

SETTIMER [#выражение] - задает интервал таймера для локации-счётчика (по умолчанию 500мс, т.е. локация-счётчик обрабатывается 2 раза в секунду). Также влияет на частоту автоматического обновления интерфейса.

 

DYNAMIC [$строка кода],[параметр 1],[параметр 2], ... - выполнение кода. Данный оператор позволяет динамически генерировать код игры. Переданные параметры хранятся в массиве ARGS. После выполнения кода предыдущие значения ARGS восстанавливаются. Примеры:

 

 DYNAMIC '$a="string<<$b>>"'

 DYNAMIC '$a'

 DYNAMIC 'if $a="string":''text!'''

 DYNAMIC "

         $args[0]

         addobj $args[1]

 ",'Текст','Вилка'