Forum.iFiction.Ru

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

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

Вы не зашли.

0    0    #1
09.04.2011 19:09

Kephra
Участник (+1, -1)
Откуда: Украина
Зарегистрирован: 04.04.2011
Сообщений: 45

Игра пример

В примере из демонстрационной игры (http://rtads.org/man/TADSSMPL.HTM), следующая штука выходит:
Чтобы взять череп с пьедестала, нужно предварительно положить на него камень, тогда не сработает ловушка... но, если забрать только что положенный камень, ловушка так же не сработает:), ведь, по логике самого метода, при отсутствии на пьедестале объекта, вышеназванного бага, не должно быть...  Сам метод: 

Код:

 doTake(actor) =
   {
        if (self.location <> pedestal or smallRock.location = pedestal)
        {
            pass doTake;
        }
        else
        {
          "Едва ты успеваешь поднять череп, как из стен вылетает целая туча
      отравленных стрел! Ты пытаешься увернуться от них, но их слишком много!";
      die();
   }
}

Отредактировано Kephra (09.04.2011 19:52)

Неактивен

0    0    #2
10.04.2011 17:13

yandexx
Z-машина (+46, -3)
Откуда: Санкт-Петербург
Зарегистрирован: 01.06.2007
Сообщений: 394
Вебсайт

Русский Информ
Информ Discord

Re: Игра пример

Kephra написал:

У меня вопрос по поводу игры-примера для информа...

Слеши в имени объекта используются только при выводе названия.
При вводе же рассматриваются ключевые слова указанные в перечислении name, с различными окончаниями. В обоих случаях учитывается род объекта (male, female, neuter, plural).

При вводе просматриваются грамматики для глаголов, заданные в библиотеке или вручную, и падеж учитывается. Однако там где он не столь важен, сработает существительное и в любом падеже.

Собственно как задано стандартное поведение в библиотеке (cAcc -- аккузатив, винительный падеж):

! "положи"/"клади"/"вставь"/"поместить"/"сунуть"
Verb    'лож'
    'класт' 'клад'
    'став'
    'мест' 'мещ'
    'сов' 'су'
                * cAcc_multiheld            -> Drop
                * cAcc_multiexcept 'в'/'во' cAcc_noun    -> Insert
                * 'в'/'во' cAcc_noun cAcc_multiexcept    -> Insert reverse
                * cAcc_multiexcept 'внутрь' cGen_noun    -> Insert
                * 'внутрь' cGen_noun cAcc_multiexcept    -> Insert reverse
                * cAcc_multiexcept 'на' cAcc_noun    -> PutOn
                * 'на' cAcc_noun cAcc_multiexcept    -> PutOn reverse;

Неактивен

0    0    #3
11.04.2011 20:54

yandexx
Z-машина (+46, -3)
Откуда: Санкт-Петербург
Зарегистрирован: 01.06.2007
Сообщений: 394
Вебсайт

Русский Информ
Информ Discord

Re: Игра пример

Kephra написал:

yandexx написал:

Слеши в имени объекта используются только при выводе названия.
При вводе же рассматриваются ключевые слова указанные в перечислении name, с различными окончаниями. В обоих случаях учитывается род объекта (male, female, neuter, plural).

При вводе просматриваются грамматики для глаголов, заданные в библиотеке или вручную, и падеж учитывается. Однако там где он не столь важен, сработает существительное и в любом падеже.

Ага спасибо, для меня новичка, это пока сложно для понимания... но что-то, да и дошло (если верно), значит, прописать правильное падежное склонение для отдельного слова-существительного, можно, но только в соответствующей библиотеке? А если возможно, то как? Можете привести пример, именно для нашего "сука"...

Когда падеж не важен, то всё и так работает. Но вот, например, код из моей игры Робото, где определён нестандартный глагол:

Verb 'маз' ! (на)мазать
    * cAcc_noun -> Smear
    * cIns_noun cAcc_noun -> Smear             ! вазелином что-то
    * cAcc_noun cIns_noun -> Smear reverse        ! что-то вазелином
    * cAcc_noun 'на' cAcc_noun -> Smear            ! вазелин на что-то
    * cAcc_noun 'по' cDat_noun -> Smear;        ! вазелин по чему-то

В игре можно только вазелином что-то мазать было, но такое описание подойдёт для чего угодно. cIns -- творительный падеж, cAcc -- винительный. И поэтому введённые команды "намазать доску клеем" и "намазать клеем доску" будут восприняты правильно. Порядок существительных здесь важен -- что к чему применяется. Без указанных падежей это бы не сработало.

Неактивен

Powered by PunBB
© copyright 2001–2024 iFiction.Ru