=====Словарь терминов===== Если словарю не хватает какого-либо слова или в голову приходят более удобные формулировки, чем в статье, просьба обратиться на форум в тему [[http://qsp.su/index.php?option=com_agora&task=topic&id=647&Itemid=57|Новая справка по QSP]]. __**Словарь взят из обычной справки практически без изменений. Само собой его нужно сильно переработать**__ **QSP** = **Quest Soft Player** - это проигрыватель (интерпретатор) текстовых игр (одно из направлений - текстовые квесты / адвентюры), преимущественно с менюшным вводом, для проигрывания файлов в формате QSP. Кроме программы-проигрывателя также существует программа-редактор QGen, в которой можно самостоятельно создавать подобные игры. **Выражение** - набор констант, переменных, функций, связанных различными операциями. См. [[help:expressions|Выражения]]. **Интерпретатор** (языка программирования) - программа для непосредственного исполнения программ (производства вычислений, предписываемых этими программами) из исходного кода на определённом языке. **Константа** - фиксированное значение. Это может быть текстовая константа (заключается в кавычки - апострофы (') или прямые кавычки ("): 'Text constant', "Text constant"), а может и числовая (записывается числом: 1234). QSP поддерживает только целочисленные константы. **Локация** - одно из базовых понятий текстовых игр. Локация - элементарная единица игрового мира. Это может быть комната, пещера, её часть, дом... Как правило, игрок исследует игровой мир посредством перемещений между локациями. См. также "Служебная локация". **Локация-счётчик** - служебная локация, название которой записано в переменной "$COUNTER". Выполнение операторов на ней, по умолчанию, происходит 2 раза в секунду (можно изменить с помощью оператора "SETTIMER"). **Локация-обработчик строки ввода** - служебная локация, название которой записано в переменной "$USERCOM". Выполнение операторов на ней происходит после нажатия пользователем клавиши "Enter" в строке ввода. **Локации-обработчики событий загрузки и сохранения игры** - служебные локации, названия которых хранятся в переменных "$ONGLOAD" (для события загрузки) и "$ONGSAVE" (для события сохранения). Выполнение операторов на этих локациях происходит после загрузки состояния (для "$ONGLOAD") и перед сохранением состояния (для "$ONGSAVE"). **Локация-обработчик перехода на новую локацию** - служебная локация, название которой хранится в переменной "$ONNEWLOC". Выполнение операторов на этой локации происходит при переходе на новую локацию посредством операторов "GOTO / XGOTO" (при серии "GOTO / XGOTO" - переходов, событие возникает только один раз для последней локации переходов). **Локации-обработчики событий выбора действий и предметов** - служебные локации, названия которых хранятся в переменных "$ONACTSEL" (для события выбора действия) и "$ONOBJSEL" (для события выбора предмета). Выполнение операторов на этих локациях происходит при выборе игроком действия / предмета в соответствующих списках. **Локация-обработчик события добавления предмета** - служебная локация, название которой хранится в переменной "$ONOBJADD". Выполнение операторов на ней происходит после добавления предмета в рюкзак (оператор "ADD OBJ / ADDOBJ"). **Локация-обработчик события удаления предмета** - служебная локация, название которой хранится в переменной "$ONOBJDEL". Выполнение операторов на ней происходит после удаления предмета из рюкзака (операторы "DEL OBJ / DELOBJ / KILLOBJ / KILLALL"). **Массив** - именованный типизированный список значений. **Оператор** - ключевое слово языка программирования, выполняющее какое-либо действие. Часто операторы имеют аргументы (параметры). Например, оператор "SET" имеет 2 аргумента: название переменной и её значение. **Переменная** - именованная "ячейка памяти". Переменная в QSP имеет название и 2 значения - текстовое и числовое. Для использования текстового значения переменной нужно перед её названием ставить символ "$". Для использования числового значения переменной достаточно указать её название. Все переменные в QSP одновременно являются массивами. Имена переменных не должны совпадать с зарезервированными именами (См. [[help:keywords|список ключевых слов]]). **Синтаксис** - правила языка, по которым происходит составление текста программы. **Системные переменные** - переменные, заранее зарезервированные системой. Могут быть использованы пользователем для установки различных системных параметров (цвет текста, включение HTML-режима и т.п.). **Служебная локация** - локация, не предназначенная для явного перехода на неё. Т.е. она используется лишь как контейнер для группы операторов. Обработка служебных локаций по переменным-указателям просходит лишь в случае, если строковое значение переменной отлично от '' (не пустая строка). **Текстовый квест / адвентюра** - жанр игр, являющийся разновидностью Интерактивной Литературы (ИЛ). В самом широком понимании термина, ИЛ - это любая разновидность художественных произведений, сюжет которых не является фиксированным, а способен меняться в зависимости от действий читателя (в "компьютерном" варианте - пользователя). Например, популярные некогда книжки с нелинейным или "ветвящимся" сюжетом - это тоже вариант ИЛ. Здесь, однако, мы рассматриваем исключительно компьютерную разновидность ИЛ. К ней относятся любые интерактивные программы, которые преподносят пользователю информацию преимущественно в текстовом виде (не в виде графики, анимации, звука и т.п.), а часто (хотя это и не обязательно) также получают инструкции от пользователя в виде текстовых команд (составленных на языке, близком к естественному). Конечно, также обычно предполагается, что у произведения ИЛ имеется сюжет - чаще всего, это приключение какого-нибудь рода, в котором пользователь обычно участвует в качестве главного героя (протагониста). Наиболее известная и популярная разновидность ИЛ - это текстовые игры (они же "текстовые квесты", "игры с текстовым вводом" и т.п.), но нужно заметить, что понятие ИЛ все-таки несколько шире, и не ограничивается исключительно ими. Довольно близкими родственниками ИЛ можно считать разнообразные текстовые ролевые игры, MUDы и пр. (хотя в данном случае, конечно, упор обычно делается на интерактивность - а "литературность", в лучшем случае, является зачаточной). (c) Материал из "Wiki о русской интерактивной литературе (текстовых играх)" **Функции** - используются наравне с переменными и часто служат для их преобразований (например, из текстового значения переменной, содержащего набор цифр, получить число, т.е. преобразовать строку в число).