如何解决Python游戏逻辑-类似于Pokemon的类型差异
我真的无法解决这个问题。我正在制作基于文本的冒险游戏,我想在游戏中实现这些类型的差异(水>火,火>草),以实现更专业的攻击和机制。但是我到底该怎么编码呢?
解决方法
如果您希望能够对诸如(water > fire
)这样的对象使用不等式,则可以在类上实现魔术方法,例如__lt__
。在此处查看文档(https://docs.python.org/3/reference/datamodel.html#object.__lt__
)
但是,这可能不是最好的方法。例如,您可以做的是编写一个实现此“强于”关系的布尔函数。此功能可以由一个简单的字典(从类型到类型集)来支持,例如:
type_data = {'water': {fire},'fire': {grass}}
def is_stronger(x,y):
return y.type in type_data[x.type]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。