- Вывод текста
- Программирование
- Оформление
- Расширенные возможности
- Нюансы написания игр под разные плееры
-
- x AeroQSP
- Утилиты и средства разработки
Это старая версия документа.
6) В названиях действий и предметов не важен регистр букв, т.е. "ДеньГи" и "деньги" - одна и та же локация.
8) Максимальный индекс элемента массива - 2147483647. Не рекомендуется использовать большие индексы.
PS:
При использовании операторов "KILLALL, KILLVAR" удаляются также все системные переменные.
Числовая константа записывается числом (например, 4535), а текстовая берётся с двух сторон в кавычки. Кавычками могут быть либо апострофы ('), либо прямые кавычки ("). Две подряд идущие кавычки считаются кавычкой, включённой в текстовую константу. Т.е. после выполнения строк
*PL 'Byte Soft''s QSP'
*PL "Byte Soft's ""QSP"""
вы увидите строки
Byte Soft's QSP
Byte Soft's "QSP"
Существует возможность использования преформатированных текстовых констант. Для таких констант сохраняются переносы строк и отступы. Примеры:
'Данный текст
будет расположен на
нескольких строках'
$a='И этот
текст
также'
a=2 & act 'Многострочное
название':gt 'next'
PS:
Строки, содержащие преформатированную текстовую константу, считаются ОДНОЙ строкой (сообщения об ошибках также выводятся с учётом того, что это одна строка).
В зависимости от результата вычисления выражения могут быть либо строковыми, либо числовыми.
Примеры числовых выражений:
3+4*3*4
(val('25')*4)/(2*5)
был_в_комнате = 0
$был_в_комнате = 'нет'
1 AND 1 OR 0
A=B AND (C<>D OR 2=E+3)
$str1 = $str2 AND $str2 <> $str3
Примеры строковых выражений:
'строка'
"проверка"
"преформатированная
текстовая
константа"
mid("строка",1,2)
$VAR
$VAR + ' строка '
Складывать с помощью "+" можно не только числа (значения числовых выражений), но и объединять текстовые константы (значения строковых выражений). Также для объединения строковых значений можно использовать символ "&", при этом такое объединение должно быть заключено в скобки. Например,
*PL 'The '+'door '+'is closed.'
и
*PL ('The '&'door '&'is closed.')
выведут одно и то же: "The door is closed.".
Возможна ЛЮБАЯ комбинация констант, переменных, функций.
При вычислении значений выражений движок (по возможности) конвертирует типы данных автоматически.
В строковые константы, в базовые описания локаций и названия базовых действий существует возможность вставлять значения выражений.
Такие "подвыражения" должны находиться между двойных угловых скобок: "<<" и ">>", до и после которых может идти любой текст, включая подобные "подвыражения".
Например, вместо оператора
pl 'i='+str(i)
можно написать
pl 'i=<<i>>'
Ещё примеры:
число_гоблинов=5
'Тебя окружили <<число_гоблинов>> гоблинов!'
pl 'Вас зовут <<$PlayerName>>, вы находитесь в <<$curloc>>.'
Примеры использования вложенных "подвыражений":
pl val('<<val("<<i>>")>><<j>>')
pl val('<<str(val("<<i>>"))>>')
Так как "подвыражения" вычисляются внутри строковых констант, то для вычисления вложенного "подвыражения" необходимо присутствие вложенной строковой константы.
PS:
Смотрите раздел "Использование массивов" этой части документации, чтобы получить дополнительную информацию о возможных выражениях.
Системные переменные
Системные переменные - переменные, значения которых обрабатываются интерпретатором специальным образом. Системные переменные используются как обычные переменные, т.е. в них можно заносить и считывать из них значения (правда стоит помнить, что в результате вы можете получить, например, чёрный цвет текста на чёрном же фоне - и ничего не будет видно).
Базовые системные переменные - основные переменные.
Переменные, задающие обработчики событий - позволяют обрабатывать такие события, как выбор предмета, переход на новую локацию, ввод строки в поле ввода...
Переменные настройки интерфейса - позволяют настраивать цвета, шрифт, а также использовать в описаниях HTML.