Пробую разобраться с RTADS. Решил для самообучения перевести обучающую игру Heidi c RInform на RTADS. Есть проблема со словом "птенец":
bird: item location = forest desc='птенец/1умо' noun = 'птенц' 'птенец' 'птенца' 'птенцу' 'птенцом' 'птенце' 'птенцу#d' 'птенцом#t' ldesc = "Слишком мал, чтобы летать, птенец беспомощно попискивает." isHim=true ;
После компиляции интерпретатор упорно отказывается понимать слово "птенца":
>о птенца После вашей команды есть лишние слова. >взять птенца После вашей команды есть лишние слова. >взять (птенца) Взят. >и У Хейди имеется: птенец >бросить птенца После вашей команды есть лишние слова. >бросить птенец Брошен.
Пробовал по разному, например так:
bird: item location = forest sdesc ="птенец" // именительный падеж rdesc ="птенца" // родительный падеж ddesc ="птенцу" // дательный падеж vdesc ="птенца" // винительный падеж tdesc ="птенцом" // творительный падеж pdesc ="птенце" // предложный падеж noun = 'птенц' 'птенец' 'птенца' 'птенцу' 'птенцом' 'птенце' 'птенцу#d' 'птенцом#t' ldesc = "Слишком мал, чтобы летать, птенец беспомощно попискивает." isHim=true ;
Тот же результат. Если заменить слово "птенец" на "птенчик", все работает правильно.
Неактивен
GrAndrey написал:
все работает. Какую версию библиотек используете?
Все скачал с http://rtads.org/download.php. А именно "Русифицированные библиотеки release 26" включает в себя:
advr.t версия 2.5.11
stdr.t версия 2.5.14
errorru.t версия не указана, написано Release 25
extendr.t версия не указана
generator.t версия не указана
gameinfo.t версия не указана
Редактировал и компилировал с помощью набора автора htads_authkit_2513.
Неактивен
Я нашёл источник проблемы. Помимо птенца, в коде есть объект генздо:
nest: container location=clearing desc ='гнездо/1ус' noun = 'гнездо/1ус' adjective= 'птичье/с' 'птенца#r' ldesc="Гнездо сплетено из прутиков и аккуратно устлано мхом." ;
Проблема в строчке adjective= 'птичье/с' 'птенца#r'. Если убрать из adjective слово "птенца", все работает. Похоже интерпретатор не может разобрать, к чему относится слово - к наименованию объекта bird, или к прилагательному объекта nest.
Это баг или фича?
Неактивен
Czelle написал:
Это баг или фича?
Ну, это баг, конечно, но в условиях развесистого синтаксического разбора трудноотлавливаемый. Хотя со временем ГрАнд с ним обязательно разберется.
Неактивен
добавил гнездо, проблемы нет.
Попробуйте свежую версию: http://rtads.org/libr27.rar
Неактивен
Задам здесь ещё вопрос, если вы не против.
Как задать прилагательное состоящее из нескольких слов.
Пусть есть два ведра. Одно из ведер хотелось бы назвать "ведро бабы Лены", другое ведро это ведро другого персонажа.
bucket:container sdesc="ведро бабы Лены" rdesc="ведра бабы Лены" ddesc="ведру бабы Лены" vdesc="ведро бабы Лены" tdesc="ведром бабы Лены" pdesc="ведре бабы Лены" noun = 'ведро/1ус' 'ведерко/1ус' 'ведро бабы лены' adjective= 'лены' 'бабы лены' 'бабы' 'лены#r' 'бабы#r лены#r' 'бабы#r' location = Me ldesc= {"\nЭто ведро бабы Лены.";} ;
>о ведро бабы лены Я не понимаю это предложение. >о бабы лены ведро Это ведро бабы Лены. >о ведро лены Это ведро бабы Лены. >о ведро бабы Это ведро бабы Лены.
Т.е. вопрос в том, как задать прилагательное 'бабы лены' в родительном падеже, чтобы при вводе текста парсер понимал "о ведро бабы лены", а не только "о бабы лены ведро".
Неактивен
Czelle написал:
Задам здесь ещё вопрос, если вы не против.
Как задать прилагательное состоящее из нескольких слов.
Т.е. вопрос в том, как задать прилагательное 'бабы лены' в родительном падеже, чтобы при вводе текста парсер понимал "о ведро бабы лены", а не только "о бабы лены ведро".
compoundWord 'бабы' 'лены' 'бабылены'; // далее, в определении ведра adjective='бабылены' 'бабылены#r'
compoundWord "склеивает" первые два слова в третье, так что парсер автоматом будет подменять сочетание слов 'бабы' 'лены' третьим словом, указанным в compoundWord. Кстати, это третье слово не обязательно должно иметь отношение к первым двум, а может быть вообще любым.
Отредактировано uux (14.11.2011 21:33)
Неактивен