Forum.iFiction.Ru

iFiction.Ru · ifHub · FAQ · IFWiki · QSP · URQ · INSTEAD · AXMA

форум об interactive fiction, текстовых приключенческих играх и всём таком...

Вы не зашли.

   #1
14.11.2009 22:37

fireton
некто с бородой (+240, -69)
Откуда: Москва
Зарегистрирован: 22.08.2005
Сообщений: 1064
Вебсайт

Тон

Две ошибки в библиотеке

Нашёл две ошибки в библиотеках. Одну серьёзную (фактически, блок) и одну мелкую косметическую.

1. Модуль advr.t, функция parseNounPhrase.

Код:

if (objs!=[] and (wasadjafn || specifed)) return [(i+1)]+objs;

+1 в этом выражении, как оказалось лишнее, т.к. i инкрементируется двумя строчками выше. Ошибка приводила к тому, что на фразу, скажем, "воткнуть булавку в подушечку" парсер отвечал "Я не понимаю это предложение".


2. Модуль errorru.t, функция parseError2.

Код:

 if (p=inPrep) {p.sdesc;" ";i.vdesc;} else

p.sdesc;" "; тут лишнее, т.к. уже выводилось на экран четырьмя строчками выше. Ошибка приводила к тому, что сообщение об ошибке выглядело как "Я не знаю как воткнуть булавку в в подушечку". Т.е. предлог дублировался.

Неактивен

   #2
16.11.2009 23:51

fireton
некто с бородой (+240, -69)
Откуда: Москва
Зарегистрирован: 22.08.2005
Сообщений: 1064
Вебсайт

Тон

Re: Две ошибки в библиотеке

Кстати, первая ошибка еще здесь упоминалась...

Неактивен

   #3
17.11.2009 18:22

fireton
некто с бородой (+240, -69)
Откуда: Москва
Зарегистрирован: 22.08.2005
Сообщений: 1064
Вебсайт

Тон

Re: Две ошибки в библиотеке

Вылезла маленькая проблемка, которую пока не знаю как решить.

Я так понимаю, там всё дело в parseNounPhrase, которая неправильно распознаёт принадлежность слова тому или иному объекту. Надо будет как-нибудь посмотреть на неё.

Неактивен

   #4
20.11.2009 02:56

fireton
некто с бородой (+240, -69)
Откуда: Москва
Зарегистрирован: 22.08.2005
Сообщений: 1064
Вебсайт

Тон

Re: Две ошибки в библиотеке

Ещё одна гадкая ошибка.

"дать большой орех белке" - работает
"дать белке большой орех" - парсеру сносит крышу напрочь.

Как результат, в моей игре на КРИЛ нельзя будет использовать вторую форму, полностью корректную с т.з. русского языка. sad
Если только Андрей не разберется. Я что-то не смог. Андрей?

Неактивен

   #5
20.11.2009 11:16

fireton
некто с бородой (+240, -69)
Откуда: Москва
Зарегистрирован: 22.08.2005
Сообщений: 1064
Вебсайт

Тон

Re: Две ошибки в библиотеке

Спасибо огромное, Андрей! Чтоб я без тебя делал!

Я проверил, вроде нормально работает.

Скажи, а если я определяю предмет двумя существительными:

Код:

zmey: Actor
  location = startroom
  desc = 'Змей/муо Горыныч/муо'
  noun = 'дракон/мо'
  ...
;

то игра обламывается при попытке дать предмет Змею Горынычу.

Я пока решил проблему тем, что сделал слово "Горыныч" прилагательным. Не уверен, что это правильно, но так, вроде, работает. Это вообще, как?

И еще. Если в определении существительного или прилагательного попадётся буква "ё", то это слово навсегда выпадает из поля зрения парсера. Т.е. не получится сделать desc = 'Ёжик/му' - этого ёжика потом в игре не найти.

Отредактировано fireton (20.11.2009 11:27)

Неактивен

   #6
21.11.2009 23:46

fireton
некто с бородой (+240, -69)
Откуда: Москва
Зарегистрирован: 22.08.2005
Сообщений: 1064
Вебсайт

Тон

Re: Две ошибки в библиотеке

Супер! Спасибо, Андрей!

Неактивен

   #7
23.11.2009 08:59

fireton
некто с бородой (+240, -69)
Откуда: Москва
Зарегистрирован: 22.08.2005
Сообщений: 1064
Вебсайт

Тон

Re: Две ошибки в библиотеке

И какие планы? Какое решение ты предпочёл?
Мне кажется, надо усложнять. smile

Доточим RTADS до невиданных высот! smile

У меня в конкурсной игре эта ошибка, кстати, проявляется самым неприятным образом.

Выход для игрока, чтобы обойти проблему - использовать краткую форму.
Например:

>положить орех
Куда вы хотите положить это?

>в корзину
Готово.


Но, конечно, это не дело. Надеюсь, всё будет исправлено и я выпущу послеконкурсную версию игры без этого гадкого бага.

Отредактировано fireton (24.11.2009 08:56)

Неактивен

   #8
25.03.2010 21:15

fireton
некто с бородой (+240, -69)
Откуда: Москва
Зарегистрирован: 22.08.2005
Сообщений: 1064
Вебсайт

Тон

Re: Две ошибки в библиотеке

Андрей, а ты в SVN библиотеку обновляешь?

Неактивен

Powered by PunBB
© copyright 2001–2018 iFiction.Ru