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