首先我们来定义一个英雄类
#定义英雄类,等一下提供盖伦和瑞文继承
class Hero:
#__init__为初始化方法,在对象实例化的时候自动调用
def __init__(self,nickname,life_value,aggressivity): #self:谁调用就指向谁
self.nickname=nickname
self.life_value=life_value
self.aggressivity=aggressivity
def attack(self,enemy):
enemy.life_value-=self.aggressivity #敌人的生命等于敌人原先生命减自己的攻击
接着我们定义一个盖伦类和瑞文类,且让他们继承Hero,继承Hero之后,这两个类也获得了Hero的属性与方法。
class Galen(Hero):
camp="Demasia" #阵营是德玛西亚
class Raven(Hero):
camp = "Knox" #阵营是诺克萨斯
定义好类了,接下来让我们实例化对象
#实例化一个名叫大宝剑,生命值是100,攻击力是30的对象g1
g1=Galen("大宝剑",100,30)
#实例化一个名叫兔女郎,生命值是100,攻击力是50的对象r1
r1=Raven("兔女郎",100,50)
盖伦和瑞文都出来了,接着让他们实现互殴
while True:
g1.attack(r1) #g1调用类中的attack方法打r1
if r1.life_value<=0: #如果r1血量小于0判断阵亡,否则输出还剩多少血
print(f"{g1.nickname}绝杀一击,{r1.nickname}已阵亡,{g1.nickname}胜")
break
else:
print(f"{r1.nickname}还剩{r1.life_value}血")
r1.attack(g1) #r1调用类中的attack方法打g1
if g1.life_value<=0: #如果g1血量小于0判断阵亡,否则输出还剩多少血
print(f"{r1.nickname}绝杀一击,{g1.nickname}已阵亡,{r1.nickname}胜")
break
else:
print(f"{g1.nickname}还剩{g1.life_value}血")
这里是完整源码
class Hero:
def __init__(self,nickname,life_value,aggressivity):
self.nickname=nickname
self.life_value=life_value
self.aggressivity=aggressivity
def attack(self,enemy):
enemy.life_value-=self.aggressivity
class Galen(Hero):
camp="Demasia"
class Raven(Hero):
camp = "Knox"
g1=Galen("大宝剑",100,30)
r1=Raven("兔女郎",100,50)
while True:
g1.attack(r1)
if r1.life_value<=0:
print(f"{g1.nickname}绝杀一击,{r1.nickname}已阵亡,{g1.nickname}胜")
break
else:
print(f"{r1.nickname}还剩{r1.life_value}血")
r1.attack(g1)
if g1.life_value<=0:
print(f"{r1.nickname}绝杀一击,{g1.nickname}已阵亡,{r1.nickname}胜")
break
else:
print(f"{g1.nickname}还剩{g1.life_value}血")
让我们运行一下
最终兔女郎胜✌,我们也可修改大宝剑的攻击力来加强大宝剑
在这里我们可以修改血量和攻击力
修改后
我们再来运行一下
大宝剑胜✌,兔女郎阵亡
今天的分享就到这里了哦,感谢大家的阅读,希望大家给个关注!