作为Python初学者,我正在尝试创建一个简单的基于文本的游戏。我想知道如何在我monster
类中定义的Monster
方法中正确引用scan
类的Character
实例(这是甚至可能?)。
class Monster:
def __init__(self):
self.HP = 5
self.color = 'blue'
class Character:
def scan(self):
print("{} is {} and has {} HP.".format( monster.__name__,
monster.color,
monster.HP ))
class Game:
def __init__(self):
self.monster = Monster()
self.player = Character()
self.player.scan()
Game()
我已经阅读了很多内容,尝试getattr
这样的事情,没有任何运气。我知道我可以将scan
方法直接放在Game
中并使用self.monster.HP
和self.monster.color
,但我真的想避免这种情况。
欢迎任何帮助或批评,提前谢谢:)
答案 0 :(得分:1)
你明确传入怪物进行扫描:
class Character:
def scan(self, monster):
print("{} is {} and has {} HP.".format(
monster.__name__, monster.color, monster.HP))
和
self.player.scan(self.monster)
这样你的代码也可以处理多个怪物。