- Вывод текста
- Программирование
- Оформление
- Расширенные возможности
- Нюансы написания игр под разные плееры
-
- x AeroQSP
- Утилиты и средства разработки
Это старая версия документа.
<code> 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.