我正在制作一款点击冒险游戏,目前正在尝试找出实现命令系统的最佳方法。
假设猴子岛或狂人宅邸风格的界面带有动词调色板以及场景和清单中的对象。单击这些,就可以建立一个句子来执行。
例如,您可以先单击look at
然后再单击一棵树以“看树”,或者单击一个苹果,然后单击,然后单击give
一个女孩,以“将苹果给女孩”。
句子有三种可能的形式:
verb
,例如“保存”verb noun
例如“摘苹果”,“看看章鱼”verb noun noun
,例如“给疯狗狗泡菜”,“将撬棍和泡菜瓶一起使用”
在不同的情况下,我希望要执行的动作由不同的对象定义。
例如,对于give
动词,可能定义了一个默认动作,使角色说出类似“我希望坚持下去”之类的东西,或者疯狗可能定义了一个动作,在该动作中它吃了您尝试给予的任何东西。
如果界面的工作方式类似于Maniac Mansion,则您可以构建该语句,然后告诉它执行(在Maniac Mansion中,通过单击该语句或再次单击最后单击的内容)。
如果要像猴子岛那样工作,该句子将在完成后立即执行,这给动词带来了问题,例如use
有时可能带有一个名词,而有时又带有两个名词。
那么,您将如何实现一个处理该问题的系统?
look
单名词动词等等