以下是一个游戏英雄类 1、每个英雄包括血量、魔法量、攻击力三个属性 2、英雄攻击时,消耗一定的魔法量,给对方造成等同于攻击力的伤害,若当前魔法量不足,伤害为0 3、英雄被攻击时,血量扣除受到的伤害,当血量不超过0时,死亡。 补充类的代码,并按要求调用类及其函数 class hero(object): def __init__(self,hp,mp,atk): self.hp = hp #血量 self.mp = mp #魔法量 self.atk = atk #攻击力 #显示当前状态 def show(self): print("血量:{} 魔法量:{}".format(self.hp,self.mp)) #攻击 def attack(self,skill_mp): if self.mp < skill_mp: return 0 else: self.mp=self.mp-skill_mp return self.atk #被攻击 def be_attack(self,other_atk): self.hp=self.hp-other_atk if self.hp <= 0: self.hp = 0 else: return self.hp #死亡 def die(self): print("被击杀") #创建英雄h1,血量、魔法量、攻击力分别为1000 200 300 def__init__(h1,1000,200,300) #创建英雄h2,血量、魔法量、攻击力分别为800 300 600 def__init__(h2,800,300,600) #h1向h2发动一个消耗80mp的攻击 #h2向h1发动两次消耗120mp的攻击 #显示两人当前状态
时间: 2024-02-14 17:32:40 浏览: 86
class hero(object):
def __init__(self,hp,mp,atk):
self.hp = hp #血量
self.mp = mp #魔法量
self.atk = atk #攻击力
#显示当前状态
def show(self):
print("血量:{} 魔法量:{}".format(self.hp,self.mp))
#攻击
def attack(self,skill_mp):
if self.mp < skill_mp:
return 0
else:
self.mp = self.mp - skill_mp
return self.atk
#被攻击
def be_attack(self,other_atk):
self.hp = self.hp - other_atk
if self.hp <= 0:
self.hp = 0
self.die()
else:
return self.hp
#死亡
def die(self):
print("被击杀")
#创建英雄h1,血量、魔法量、攻击力分别为1000 200 300
h1 = hero(1000,200,300)
#创建英雄h2,血量、魔法量、攻击力分别为800 300 600
h2 = hero(800,300,600)
#h1向h2发动一个消耗80mp的攻击
h2.be_attack(h1.attack(80))
#h2向h1发动两次消耗120mp的攻击
h1.be_attack(h2.attack(120))
h1.be_attack(h2.attack(120))
#显示两人当前状态
h1.show()
h2.show()
阅读全文