我想使用播放器刚刚在响应中使用的动词。
这很容易使用名词([the noun](,但是在手册中,我没有找到动词/动作的东西。
这是我想做的:
Instead of attacking someone:
say "How do you want to [verb] [the noun]?".
玩家本可以试图杀死,攻击,打破等。有人和我想使用他/她使用的确切动词。
另外:是否有在打印响应时可以在[]中使用的所有标准项目的列表?
解析器真正没有"动词"的概念,它仅将命令与具有一些特殊令牌(通常是名词(的模式匹配,但动词不是其中之一。
还要注意,解析器已将原始命令丢弃了它:换句话说,[the noun]
实际上并不包含玩家使用的单词,而是名词的打印名称。因此,如果您有:
The dragon is an animal. Understand "beast" as the dragon.
和玩家类型>攻击野兽,然后[the noun]
仍将打印"龙"。
您有几个选择:
更模糊。例如:"您想如何做?"这是实践中最常用的选项。
命令播放器命令的第一个单词,并假设是动词:
say "How do you want to [word number 1 in the player's command] [the noun]?";
这是不推荐的,因为不能保证第一个单词实际上是动词。如果玩家命令>向北走,然后再次杀死龙或再次杀死龙怎么办?游戏会问"你想如何走龙?"或"你想如何再次龙?"
- 将攻击动作分为一部分,因此您可以确定玩家使用的是哪一个。
Hitting is an action applying to one thing.
Understand the command "hit" as something new.
Understand "hit [something]" as hitting.
Instead of hitting:
say "How do you want to hit [the noun]?"
我也不会这样做,因为有一个更好的选择...
- 如果您正确创建"攻击",请告知已内置该功能。
Attacking it with is an action applying to two things.
Understand the commands "attack" and "hit" as something new.
Understand "attack [something] with [something]" as attacking it with.
Understand "hit [something] with [something]" as attacking it with.
[and so on]
现在,自动通知会问:"您想用什么攻击/击中/杀死龙?"取决于玩家使用的动词。
这也比原始的"而不是"方法要好得多,因为现在玩家可以用一个单词("> sword"(回答问题 - 如果他们用相反的规则做到了解他们的意思。