Открыть главное меню

Изменения

FireURQ:Руководство пользователя

7880 байт добавлено, 17:43, 31 июля 2020
м
убрал лишнее слово "выдает"
Моя грамотность была на исходе
Потому что символ ";" и все что после него идет было бы обработано как комментарий.
 
'''Примечание:'''
Вывод строковой переменной, как числа '''#текстовая_переменная$''' даст нам количество символов в строке.
==Оформление текста==
Для определения шрифта, которым будет выводиться текст, используется переменная '''textfont'''. В нее в виде строкового значения следует записать имя файла шрифта.
Все используемые игрой шрифты должны лежать в папке с игрой, либо архиве QSZ. '''FireURQ''' позволяет имеет встроенные шрифты с засечками (serif) и без засечек (sans) во всех начертаниях — полужирном (bold), наклонном (italic) и полужирном наклонном (bold-italic).  Чтобы использовать обычные True Type эти шрифты Windows. Для этого шрифт должен быть либо установлен в системеигре, либо лежать в папке достаточно написать '''textfont = «serif-italic[25]»''' и у вас будет наклонный шрифт 25-го размера с игрой (архиве QSZ)засечками
Формат использования шрифта такой:
'''''Пример:'''''
'''hide_link_echo = 1'''
 
'''''Примечание: при наличии локации common (см. ниже) сначала выполняются операторы на локации common, потом осуществляется переход на метку локации.'''''
==Переход по оператору GOTO==
 
'''''Синтаксис:'''''
'''GoTo Метка'''
 
После выполнения оператора '''goto''' происходит мгновенное перемещение на указанную метку. При наличии локации common (см. ниже) операторы на локации common при переходе по '''goto''' НЕ ВЫПОЛНЯЮТСЯ. Это сделано специально и умышленно - чтобы можно было делать переходы внутри локации.
 
Примечание: в случае не нахождения метки, goto просто игнорируется.
 
'''''Пример:'''''
'''goto лес'''
Этот код произведёт перемещение на локацию с названием ''''лес'''.
==Переход по оператору PROC==
 
'''''Синтаксис:'''''
'''Proc Метка'''
 
При вызове данного оператора происходит переход на указанную метку и выполнение программы, до встречи первого end, потом управление передается оператору, следующему непосредственно за '''proc''', откуда команда была вызвана. Допустима любая вложенность '''proc'''-вызовов (вплоть до использования рекурсии!).
 
Нормально обрабатываются последовательные переходы по '''proc''' - цепочка ведется до тех пор, пока не встретится первый end. При этом кнопки во всех пройденных локациях накапливаются(!), но при обнаружении end'а происходит не опрос пользователя, а возврат к предыдущему proc'у и так до самого начала цепочки.
 
'''''Пример:'''''
''':берег_реки'''
'''pln Вы стоите на берегу реки, позади вас Туманный лес.'''
'''proc лес'''
'''pln Отсюда только одна дорога - на запад.'''
'''end'''
''';----------'''
''':лес'''
'''pln Из леса на вас поглядывают волки.'''
'''end'''
 
При выполнении этот код выведет на экран следующее:
 
Вы стоите на берегу реки, позади вас Туманный лес.
Из леса на вас поглядывают волки.
Отсюда только одна дорога - на запад.
 
То есть, после выполнения по '''proc''' локации '''лес''', мы вернёмся в локацию '''берег_реки''' и продолжим с того места, на котором был вызов команды '''proc'''.
'''''Важно:''''' При наличии локации common (см. ниже) операторы на локации common при переходе по '''proc''' НЕ ВЫПОЛНЯЮТСЯ и системная переменная '''current_loc''' не меняется.
 
'''Примечание:''' Часто из метки вызванной с помощью '''proc''' ведёт вызов '''goto''' и далее. В таком случае, если мы не хотим возврата к первой локации, нужно использовать оператор '''forget_procs'''
==Переход по декораторам TEXTBUTTON и IMGBUTTON==
 
Описание можно найти в статье [[FireURQ:Особенности_реализации_URQL|FireURQ:Особенности_реализации_URQL]]. В разделе '''Декораторы'''.
==Контекстное меню==
 
Описание можно найти в статье [[FireURQ:Особенности_реализации_URQL|FireURQ:Особенности_реализации_URQL]]. В разделе '''Выпадающие меню'''.
==Параметры при переходах==
'''end'''
Теперь по нажатию на “выключить музыку” громкость будет плавно затихать до нуля за 1,5 секунды, а по нажатию на “включить музыку” - так же плавно возрастать.
 
=Функции=
 
==Случайное значение Rnd==
 
Иногда полезно - особенно, если не злоупотреблять этим, ввести в квест элемент случайности, непредсказуемости. Именно для этого был введен механизм случайности: Rnd[x] - системная переменная (только для чтения) которая при пустом значении x хранит в себе случайное значение от 0 до 1, включая 1, а при целом x (к примеру, X=6) выдает целые значения (от 1 до 6 включительно в нашем случае). При каждом обращении к переменной она принимает другое значение.
 
'''случай1 = rnd''' ;В результате переменная случай1 равна, например, 0.78
 
'''случай2 = rnd4''' ;В результате переменная случай2 равна, например, 3
 
==Ввод текста INPUT==
 
В урке есть возможность ввести строку, значение которой будет потом присвоено указанной переменной.
 
При необходимости ввести с клавиатуры русский текст через оператор '''input''' в строковую переменную ее следует предварительно объявить выражением:
'''строка = ""'''; Данное выражение создает строковую переменную нулевой длины.
 
'''pln Введите строку: & input строка'''
 
На экране мы увидим:
'''Введите строку:'''
 
==Команда forget_procs==
 
В URQL есть нюанс - если мы используем '''goto метка''' из локации вызванной по '''proc''', то история вызовов не забывается.
Но есть команда '''forget_procs''', которая позволяет это исправить.
 
Рассмотрим следующий код:
 
:пример
pln Выводим текст 1
proc выход1
pln Выводим текст 2
end
 
:выход1
goto выход2
end
 
:выход2
forget_procs ; вставляем для того, чтобы забыть предыдущие действия
pln Выводим текст 3
end
 
Без команды '''forget_procs''' мы увидим на экране
 
Выводим текст 1
Выводим текст 3
Выводим текст 2
 
Если же мы используем эту команду, то на экране появится:
 
Выводим текст 1
Выводим текст 3
 
что чаще всего и нужно.
[[Категория:Документация FireURQ]]
166
правок