因此,我在为我在学习 Python 时编写的基本游戏编写的一些代码时遇到了一些麻烦(如果有帮助,请点击此处的原始问题)。
在玩了很多之后,我意识到了我的问题。当试图让一个对象(一个角色)“拥有”另一个类的对象(例如武器)时,我实际上不知道如何做一个“拥有”。
如果我愿意,可以说一个名为 dean 的 Char(角色)针对他所拥有的武器执行特定的操作。我将如何给那个对象(Char 院长)一个“武器”类的对象?
谢谢你。
编辑:
我发现我可以通过将有问题的“武器”作为参数传递来做到这一点。IE:
院长 = Char("院长", hanzo_blade)
然后让 Char init带有(自我,名字,武器)。
但是,我希望用户从选择中选择角色获得的武器。所以我不确定 Char(____) 的内容是否可以根据用户输入动态确定。如果可能,我该怎么做?如果没有,我该怎么办?
再次感谢。
编辑2:这是相关的代码:
class Char(object):
def __init__(self, name):
self.name = name
self.hp = 300
self.mp = 10
self.strn = 1
self.dex = 1
self.armor = 0
self.xp = 0
self.items = []
self.spells = []
self.weapon = sword() # Assume sword is the default. Alternatively, how might I let this default to nothing?
class Weapon(Equip):
impact = 1
sharp = 1
def __init__(self, name):
self.name = name
hanzo_blade = Weapon("Hanzo Blade")
hanzo_blade.wgt = 3
hanzo_blade.impact = 1
hanzo_blade.sharp = 9
dean = Char("Dean")
dean.strn = 3
dean.dex = 8
如果 hanzo_blade 是一种选择,例如,我怎么能让玩家为 Char 院长选择该武器?