Я делаю точку и кликаю в приключенческой игре и в настоящее время пытаюсь найти лучший способ реализации командной системы.
Предположим, что интерфейс в стиле Monkey Island или Maniac Mansion, с палитрой глаголов, а также объекты в сцене и в инвентаре. При нажатии на них, вы строите предложение выполнить.
например, вы можете щелкнуть, look at
а затем дерево, чтобы «взглянуть на дерево», или щелкнуть яблоко, а затем give
, а затем и девушку, получить «дать яблоко девушке».
Есть три возможных формы предложения:
verb
, Например «сохранить»verb noun
, Например, «забрать яблоко», «посмотреть на осьминога»verb noun noun
Например, "дать рассол бешеной собаке", "использовать лом с маринованной банкой"
В разных ситуациях я хочу, чтобы выполняемое действие определялось разными объектами.
Например, для give
глагола может быть определено действие по умолчанию, которое заставляет персонажа сказать что-то вроде «я бы предпочел держаться за это», или бешеная собака может определить действие, в котором она съедает все, что вы пытаетесь дать ему. ,
Если интерфейс должен работать как Maniac Mansion, то вы строите предложение, а затем приказываете его выполнить (в Maniac Mansion, либо щелкнув предложение, либо снова щелкнув по последнему нажатию).
Если это работает как Остров Обезьян, предложение выполняется, как только оно завершено, что создает проблему для глаголов, например, use
которые иногда могут принимать одно существительное, а другие - два.
Итак, как бы вы внедрили систему, которая обрабатывает это?
look
же как и глагол с одним существительным и т. Д.