使用其他类中的类中的变量-python
我正在尝试制作一个基于文本的小型RPG游戏,但决定让它比简单的基于文本的游戏复杂一点。我为一个你可以选择的职业(法师)做了一个职业,然后为一个敌人(兽人)做了一个职业。我现在有很多问题,我就是不知道如何解决,如何使用兽人类中我的玩家类的属性。 我想让兽人伤害玩家,反之亦然,但我似乎无法在兽人职业中使用player.hp。我尝试将不同的东西全球化,但它只是说该实例以前已经被使用过,所以这是不可能的 这是我为法师和兽人开设的两门课程:使用其他类中的类中的变量-python,python,class,oop,Python,Class,Oop,我正在尝试制作一个基于文本的小型RPG游戏,但决定让它比简单的基于文本的游戏复杂一点。我为一个你可以选择的职业(法师)做了一个职业,然后为一个敌人(兽人)做了一个职业。我现在有很多问题,我就是不知道如何解决,如何使用兽人类中我的玩家类的属性。 我想让兽人伤害玩家,反之亦然,但我似乎无法在兽人职业中使用player.hp。我尝试将不同的东西全球化,但它只是说该实例以前已经被使用过,所以这是不可能的 这是我为法师和兽人开设的两门课程: class Mage(): def __init__(s
class Mage():
def __init__(self,name):
self.name = name
self.hp = 100
self.mana = 200
self.spellpower = 1
def fireball(self, enemy):
dmg = randint(10 * self.spellpower,12*1.2*self.spellpower)
dot = randint(0.5 * self.spellpower, 1.5* self.spellpower)
self.mana -= 20
enemy.hp -= dmg
def attack(self, enemy):
print(f"you have attacked {enemy}")
fight = True
return fight
def flee(self,enemy):
num = randint(1,2)
if num == 1:
fight = False
print("you have succesfully fled")
return fight
else:
print(f"You failed to flee. The {enemy} attacks you")
fight = True
attack_first = "enemyflee"
return fight, attack_first
class Orc():
def __init__(self, number_of):
self.number_of = int(number_of)
self.name = "Orc"
self.hp = 20 * self.number_of
self.dmg = 5 * self.number_of
def hit(self, player):
dmg = randint(4 * self.dmg, 6* self.dmg)
player.hp -= dmg
print ("The orc(s) hit(s) you")
def appearing(self):
if self.number_of > 1:
print (f"{self.number_of} Orcs have appeared")
else:
print(f"{self.number_of} orc has appeared")
这是我职业的一部分,我尝试使用这些职业让兽人攻击我(玩家现在被称为class1
,并被命名为兽人mineorc1
):
我知道如果没有完整的代码,可能会有多混乱,但希望您能帮助我:)那么您的情况会怎样?是否有错误表明
播放器未引用hp
,或者该值未减少,或者确切的问题是什么?另外,请包含代码如何初始化class1
和mineorc1
从中选择一个:请发布一个正确的示例,那么在您的情况下会发生什么?是否有错误表明播放器未引用hp
,或者该值未减少,或者确切的问题是什么?另外,请包括代码如何初始化class1
和mineorc1
从中选择一个:请发布一个适当的
while fight:
if attack_first == "enemyflee":
turn = "enemy"
else:
if attack_first() == "enemy":
turn = "enemy"
else:
turn = "player"
if turn == "enemy":
mineorc1.hit(class1)