В данный момент работаю над анализатором команд. В связи с этим появились следующие вопросы:
* Сколько свободы должно предоставляться игроку при вводе команд (имеется в виду расположение слов).
* Какие (и насколько сложные) конструкции предложения обычно используются в процессе игры.
Неактивен
Т.к. расположение слов в английских предложениях по большей части фиксированно, то в этом деле мы первооткрыватели. Я думаю, что фиксированный порядок в IF на русском дело не приятное, но простительное. В крайнем случае для простейших случаев (отдать камень гоблину = отдать гоблину камень) можно сделать какие-нибудь проверки (камень предмет, а не актер).
Приятно также, если игра будет понимать сложные предложения.
Взять камень. Идти на север и
Взять камень и идти на север - это просто две команды, введенные через разделитель. Их можно обработать последовательно.
Взять камень и бутылку - здесь чуть сложнее, но решаемо.
Взять все - ищем все объекты, которые могут быть взяты и последовательно их берем.
Ну а вообще-то предложение обычно разделяют на:
<актер, > <глагол> <прямой объект> <предлог> <непрямой объект>
Например:
Гоблин, положи камень на стол[i] - это по максимому.
[i]инвентарь - по минимому.
Актер, разумеется, по умолчанию игрок.
Еще что вспомню/в голову придет - напишу.
Неактивен
Да. И еще одно. Хорошо, если анализатор будет запоминать последние объекты, к которым обращался игрок. Ну в смысле:
Взять яблоко
Положить его на стол
Это не так уж и сложно.
Неактивен