【发布时间】:2012-05-13 19:03:44
【问题描述】:
我正在使用 Python 开发基于文本的 RPG,但我被 NPC 困住了。 我需要一些有点像树的东西。例如:
博特:你好。 1. 你好,你叫什么名字? 2. 你好,你住在哪里? > 2 玩家:你住在哪里? Bot:这是一个令人毛骨悚然的问题。你为什么要问? 1. 我只是好奇。 2. 没关系。 3.隐藏你的孩子,隐藏你的妻子 > 1 玩家:我只是好奇。 博特:好的。 1. 你喜欢奶酪吗? 2.再见。 > 1 玩家:你喜欢奶酪吗? 博特:是的!我爱奶酪。你做出的每一个选择都会衍生出其他选择,A.K.A.如果用户对第一个问题的回答是“1”,那么机器人会回答“我的名字是 Bob。你的名字是什么?”
我的游戏被设计成一个关卡编辑器不是不可能的前景(你可以访问的每个地方都作为一个键存储在字典中,然后是一个包含所有内容的元组[我有一个商店类,一个敌人类,一个“门户”类,很快又是一个 NPC 类])。所以我希望以某种方式创建它,这样我就可以将它全部保存在我的 NPC 类存储的变量中(而不是一堆“if”语句)
澄清一下,我并不是要求别人为我编写代码,我只是不确定如何解决这个问题。
正是我需要的简短描述:
树状结构,以一个字符串开头,后面有多个“分支”字符串
这些字符串中的每一个都有更多的“分支”
与元组元组的区别在于,它们需要一个字符串来分支而不是立即拆分。
【问题讨论】:
-
使用
dict,其中键是用户响应(或用户响应的菜单选项,值是包含NPC响应的元组(或另一个dict),以及用户响应列表。
标签: python artificial-intelligence