- Вывод текста
- Программирование
- Оформление
- Расширенные возможности
- Нюансы написания игр под разные плееры
-
- x AeroQSP
- Утилиты и средства разработки
Это старая версия документа.
i=0 j=0равнозначно
i=0 & j=0
if яблоки=0 : ADDOBJ 'Яблоко' яблоки=1 end
if a<5 and n-b>4+5+h/7*2 or t=4: p 'TTTTTTTTT' & cla & $f='Text Variable' & goto 'FFFF'равнозначно
if a<5 and n-b> _ 4+5+h/7*2 or _ t=4: p 'TTTTTTTTT' _ & cla & $f='Text Variable' _ & goto 'FFFF'
Для пояснений в коде удобно использовать комментарии, которые игнорируются интерпретатором (плеером):
!Однострочный комментарий яблоки = 0 !'Многострочный комментарий' яблоки = 1 сыр = 5 & ! А здесь"комментарий начинается в той же строке, но" заканчивается 'сильно позже'. Во всём виноваты {кавычки и скобки }Кстати: яблоки=0 !'Комментарии рекомендуется писать всё-таки в отдельных строках, а не как с "сыром"'
Примечание: при выводе ошибок многострочные комментарии считаются интерпретатором за одну строку.
Оператор - ключевое слово, выполняющее какое-либо действие. Оператор может иметь аргументы (параметры), которые задаются выражениями. Операторы не возвращают результат выполнения.
!'Общий вид вызова оператора имя_оператора аргумент1, аргумент2, ... или имя_оператора (аргумент1, аргумент2, ...) ' !Примеры вызовов операторов: ADDOBJ 'ключ','pics/key.png' ADDOBJ ('ключ','pics/key.png') PL ('текст') CLEAR()
Функция - почти тоже, что и оператор, но функция возвращает значение. При количестве аргументов более одного скобки обязательны.
<sxh qsp> !Примеры вызовов функций: X=MAX(1,2,4) A=RAND 4 B=COUNTOBJ pl str(43) pl $str(43) !Последние два выражения эквивалентны <sxh qsp>
Примечание: для функций возвращающих текстовое значение настоятельно рекомендуется приписывать перед именем функции символ '$' для улучшения читаемости кода.
Это те функции, которые я пока никуда не пристроил. Базовые функции языка QSP CURLOC - возвращает название текущей локации. RAND([#выражение 1],[#выражение 2]) - возвращает случайное число между числами [#выражение 1] и [#выражение 2]. Параметр [#выражение 2] может отсутствовать, при этом он принимается равным 0. RND - возвращает случайное значение от 1 до 1000.
MAX([выражение 1],[выражение 2], …) - возвращает максимальное из значений выражений-аргументов. Если передан один аргумент, то считается, что указано имя массива - в этом случае поиск максимального элемента происходит среди строковых (если название массива указано со знаком "$") или среди числовых значений элементов массива. Например: MAX(1,2,5,2,0) - вернёт 5 MAX(a,b,c) - вернёт максимальное из значений переменных MAX('aa','ab','zz') - вернёт 'zz' MAX('a') - вернёт максимальное из числовых значений элементов массива "A" MAX('$b') - вернёт максимальное из строковых значений элементов массива "B"
MIN([выражение 1],[выражение 2], …) - возвращает минимальное из значений выражений-аргументов. Если передан один аргумент, то считается, что указано имя массива - в этом случае поиск минимального элемента происходит среди строковых (если название массива указано со знаком "$") или среди числовых значений элементов массива. IIF([#выражение],[выражение_да],[выражение_нет]) - возвращает значение выражения [выражение_да], если [#выражение] верно, иначе значение выражения [выражение_нет].
QSPVER - возвращает версию интерпретатора в формате "X.Y.Z".
Вперёд: