17
« kdy: 13. Listopad 2015 - 15:28 »
Jo, zkopíroval jsem si pro druhé VerbRule k opravit právě z CutWithWhat, které má badness 500 a řeší to, že když se příkaz nezadá celý, tak se parser hráče dotáže(nebo automaticky doplní, když nemám u akce v objektu nonObvious).
Jen mi přijde zvláštní, že kód v constructu se dle mého tváří, že doplní pouze chybějící iobj, ale podle hry doplní i dobj, pokud chybí.
VerbRule(RepairWithWhat)
[badness 500] ('oprav' | 'sprav') singleDobj
: RepairWithAction
verbPhrase = 'opravit/opravuj{eš}/opravil{a} (co) (čím)'
construct()
{
iobjMatch = new EmptyNounPhraseProd();
iobjMatch.responseProd = singleNoun;
}
;
Pořád mi není úplně jasné askDobjResponseProd a askIobjResponseProd (je např. v CutWith, mám podle něj RepairWith) - to má pochopit v jaké podobě očekává doplnění příkazu? Znamená to, že to nějak pracuje ve spojení s CutWithWhat, bez kterého se hra na doplnění vůbec ptát nebude a příkaz prostě nepochopí?