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]

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...