|
система разработки интерактивной литературы на русском языке
Функции, специфичные
|
Число | Лицо | Первое спряж | Второе спряж |
Ед | 1-л | у ю | у ю |
2-л | ешь ёшь | ишь ишь | |
3-л | ет ёт | ит ит | |
Мн | 1-л | ем ём | им им |
2-л | ете ёте | ите ите | |
3-л | ют ут | ат ят |
В русском языке имена существительные склоняются, поэтому для того, чтобы игра правильно оперировала названием предмета, требуется указывать все формы во всех падежах.
У всех объектов есть свойства sdesc, rdesc, ddesc, vdesc, tdesc, pdesc, соответствующие формам соответственно Именительного, Родительного, Дательного, Винительного, Творительного и Предложного падежей.
Именительный | Кто, Что |
Родительный | Кого, чего |
Дательный | Кому, чему |
Винительный | Кого, что |
Творительный | Кем, чем |
Предложный | О Ком, о чем |
Для удобства создания описаний объектов рекомендуется пользоваться генератором падежей.
Падежные формы используются, чтобы система правильно произносила названия предметов, однако для того, чтобы система правильно понимала формы слов, вводимых игроком, этого не достаточно.
Чтобы парсер понимал формы вводимые игроком нужно включить все формы в свойство 'noun':
yezhik : thing
location = throne
sdesc = "любимый плюшевый ёжик короля"
rdesc = "любимого плюшевого ёжика короля"
ddesc = "любимому плюшевому ёжику короля"
vdesc = "любимый плюшевый ёжик короля"
tdesc = "любимым плюшевым ёжиком короля"
pdesc = "любимом плюшевом ёжике короля"
adjective = 'любимый' 'любимого' 'любимому' 'любимым' 'любимом'
'плюшевый' 'плюшевого' 'плюшевому' 'плюшевым' 'плюшевом'
'короля'
noun = 'ежик' 'ежика' 'ежику' 'ежиком' 'ежике'
ldesc = "Любимый плюшевый ёжик короля. "
isHim = true
;
Есть еще одна тонкость -- для того, чтобы парсер понимал предложения типа «ударить гоблина телефоном», в смысле «ударить гоблина с помощью телефона» нужно в список свойства noun добавить форму с суффиксом «#t»; чтобы была понятна фраза «дать арахис слону» добавить форму с суффиксом «#d» соответственно, а чтобы был понят «кусок мяса»(определение после существительного), помимо 'мяса' в список adjective необходимо ввести 'мяса#r'. Например:
yezhik : thing
location = throne
sdesc = "любимый плюшевый ёжик короля"
rdesc = "любимого плюшевого ёжика короля"
ddesc = "любимому плюшевому ёжику короля"
vdesc = "любимый плюшевый ёжик короля"
tdesc = "любимым плюшевым ёжиком короля"
pdesc = "любимом плюшевом ёжике короля"
adjective = 'любимый' 'любимого' 'любимому' 'любимому#d' 'любимым' 'любимым#t' 'любимом'
'плюшевый' 'плюшевого' 'плюшевому' 'плюшевому#d' 'плюшевым' 'плюшевым#t' 'плюшевом'
'короля' 'короля#r'
noun = 'ежик' 'ежика' 'ежику' 'ежиком' 'ежике' 'ежику#d' 'ежиком#t'
ldesc = "Любимый плюшевый ёжик короля. "
isHim = true
;
Для каждого из объектов наследуемых от thing, определен ряд полезных свойств и методов, которые могут помочь формировать сообщения, в которых упоминаются заранее не определённые объекты. К таким методам и свойствам можно отнести и набор sdesc, rdesc, ... , но о них речь уже шла. В английском языке были определены методы вывода объектов с артиклями, но в результате перевода они совершенно исчезли. Вместо них были добавлены другие, характерные для русского языка.
itobjdescВыводит "их","её","его", в зависимости от пола и числа объекта.
ritobjdescВыводит те же местоимения, но в родительном падеже. Аналогично работают ditobjdesc, titobjdesc и pitobjdesc, а vitobjdesc отсутствует, т.к. в данном случае совпадает с itobjdesc.
itselfdescВыводит "них самих же", "него же", "неё саму же" или "него же", в зависимости от объекта.
disamvdesc
Свойство disamvdesc представляет собой винительный падеж объекта,
используемый в случае разъяснения объекта. Используется только тогда,
когда вы не хотите отображать прилагательные в составе названия.
Пример:
>инв
Ты несёшь:
стул
>взять стул
Который стул Вы имеете в виду: стул или высокий стул?
>стул
Который стул Вы имеете в виду: стул или высокий стул?
и т.д. Т.е. здесь мы никогда стул не возьмём.
добавляем стулу vdesc="обычный стул"
>инв
Ты несёшь:
обычный стул
То, что слово "обычный" видно всегда, может быть очень некрасиво или преждевременно выдавать информацию о предмете.
После добавления стулу disamvdesc="обычный стул":
>инв
Ты несёшь:
стул
>взять стул
Который стул Вы имеете в виду: обычный стул или высокий стул?
Задаёт вопрос для вывода в том случае, если не указан прямой объект.
По умолчанию равен "Что ".
"[vopr] Вы хотите [глагол]?".
Указывает предлог для корректного вывода сообщения "Я не знаю как [глагол] [предлог] [объект]".
typeУказывает на поддержку глаголом косвенных объектов в падеже без предлога. Значение 1 означает творительный, 2 - дательный, 3 - оба падежа. Например, чтобы фраза "открыть дверь ключом" была понята, необходимо не только задать 'ключом#t' в список noun объекта ключа, но и присвоить свойству type глагола "открыть" значение 1.
Лицо объекта указано в свойстве lico, принимающем числовые значения от 1 до 3. По умолчанию, имеет значение 3.
Механизм подстановки через значок "%" почти не используется в advr.t, но по-прежнему действует и может оказаться полезным. По этому поводу смотрите в руководство.