Forum.iFiction.Ru

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

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

Вы не зашли.

0    0    #1
08.09.2008 21:47

/gray_flannel
Участник (+8)
Откуда: Киев
Зарегистрирован: 08.08.2007
Сообщений: 52
Вебсайт

Уточняющие вопросы

Допустим, у нас в комнате красное и зеленое яблоки и деревянный и железный стол.
Пользователь пишет: взять яблоко и положить его на стол

Какой из вариантов исполняют современные парсеры?
1. Парсер по-очереди спрашивает, какое именно яблоко и какой именно стол.
2. Сначала парсер спрашивает, какое именно яблоко, пишет "Вы взяли такое-то яблоко", потом спрашивает, какой именно стол.

Неактивен

0    0    #2
14.09.2008 09:52

uux
Участник (+884, -80)
Откуда: Москва
Зарегистрирован: 02.12.2006
Сообщений: 1624

Re: Уточняющие вопросы

yandexx написал:

Inform:

>put apple on table
Which do you mean, Green apple or Red apple?

>green
Which do you mean, Wooden table or Iron table?

>wooden
You need to be holding Green apple before you can put it on top of something else.

То есть брать действительно приходится отдельно.

Но это - только для Информа. И то этот момент обходится - в ряде игр сделано так, что объект автоматом берется, если введенная команда подразумевает, что для использования его нужно держать в руках.

А вот как это выглядит для (R)TADS'а:

Код:

>взять яблоко и положить это на стол
Которое "яблоко" Вы имеете в виду:  красное яблоко или зеленое яблоко?

>красное
Взято.

Которое "стол" Вы имеете в виду:  деревянный стол или металлический стол?

Но:

Код:

>положить яблоко на стол
Которое "стол" Вы имеете в виду:  деревянный стол или металлический стол?

>деревянный
Которое "яблоко" Вы имеете в виду:  красное яблоко или зеленое яблоко?

>зеленое
Готово.

Т. е. во втором случае сначала устраняется неопределенность по косвенному объекту (опять-таки в общем случае; при необходимости можно переопределять порядок уточнения для отдельных глаголов - но не буду засорять вам мозг частностями).

Отредактировано uux (14.09.2008 09:55)

Неактивен

Powered by PunBB
© copyright 2001–2024 iFiction.Ru