import random class Hero(object): def __init__(self,hero_type,name,tili,max_tili,sdft,sdfy): self.tili=tili self.max_tili=max_tili self.sdft=sdft self.sdfy=sdfy self.bd=0 self.name = name self.level = 1 self.hp = 260 self.attack = 40 self.max_hp = self.hp self.hero_type = hero_type print("电脑角色"+self.name+"创建成功,英雄类型为:", self.hero_type) print("当前等级、血量、攻击力分别为:",self.level,self.hp,self.attack) def cure(self,tili,max_tili): # 治疗 self.hp=self.hp+60 tili=tili-3 if self.hp>self.max_hp: self.hp=self.max_hp print(self.name+"使用了治疗,血量增加:60,目前的血量为:"+str(self.hp)+",体力减少3,目前的体力为:"+str(self.tili)) self.tili=self.tili+2 if self.tili>self.max_tili: self.tili=self.max_tili print("出招后,体力回复2点,目前的体力为:",self.tili) def combat(self, enemy,tili,max_tili): # 普通攻击 enemy.hp -= self.attack if self.bd>10: enemy.hp -=25 self.bd=self.bd-11 if enemy.hp > 0: info1 = self.name+"对"+enemy.name+"发起用极限被动攻击," info2 = "造成"+str(self.attack+20)+"点伤害," info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量" info4="消耗被动值11点,目前的被动值为:",self.bd info = info1+info2+info3 print(info) else: info3 = enemy.name+"阵亡,游戏结束" info = info1+info2+info3 print(info) exit() elif self.bd==10: enemy.hp -=23 self.bd=self.bd-10 if enemy.hp > 0: info1 = self.name+"对"+enemy.name+"发起荣耀被动攻击," info2 = "造成"+str(self.attack+16)+"点伤害," info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量" info4="消耗被动值10点,目前的被动值为:0" info = info1+info2+info3 print(info) else: info3 = enemy.name+"阵亡,游戏结束" info = info1+info2+info3 print(info) exit() elif self.bd==9: enemy.hp -=20 self.bd=self.bd-9 if enemy.hp > 0: info1 = self.name+"对"+enemy.name+"发起圣力被动攻击," info2 = "造成"+str(self.attack+16)+"点伤害," info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量" info4="消耗被动值9点,目前的被动值为:0" info = info1+info2+info3 print(info) else: info3 = enemy.name+"阵亡,游戏结束" info = info1+info2+info3 print(info) exit() elif self.bd==8: enemy.hp -=18 self.bd=self.bd-8 if enemy.hp > 0: info1 = self.name+"对"+enemy.name+"发起神力被动攻击," info2 = "造成"+str(self.attack+16)+"点伤害," info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量" info4="消耗被动值8点,目前的被动值为:0" info = info1+info2+info3 print(info) else: info3 = enemy.name+"阵亡,游戏结束" info = info1+info2+info3 print(info) exit() elif self.bd==7: enemy.hp -=16 self.bd=self.bd-7 if enemy.hp > 0: info1 = self.name+"对"+enemy.name+"发起道力被动攻击," info2 = "造成"+str(self.attack+16)+"点伤害," info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量" info4="消耗被动值7点,目前的被动值为:0" info = info1+info2+info3 print(info) else: info3 = enemy.name+"阵亡,游戏结束" info = info1+info2+info3 print(info) exit() elif self.bd==6: enemy.hp -=13 self.bd=self.bd-6 if enemy.hp > 0: info1 = self.name+"对"+enemy.name+"发起魂被动攻击," info2 = "造成"+str(self.attack+16)+"点伤害," info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量" info4="消耗被动值6点,目前的被动值为:0" info = info1+info2+info3 print(info) else: info3 = enemy.name+"阵亡,游戏结束" info = info1+info2+info3 print(info) exit() elif self.bd==5: enemy.hp -=11 self.bd=self.bd-5 if enemy.hp > 0: info1 = self.name+"对"+enemy.name+"发起灵被动攻击," info2 = "造成"+str(self.attack+16)+"点伤害," info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量" info4="消耗被动值5点,目前的被动值为:0" info = info1+info2+info3 print(info) else: info3 = enemy.name+"阵亡,游戏结束" info = info1+info2+info3 print(info) exit() elif self.bd==4: enemy.hp -=9 self.bd=self.bd-4 if enemy.hp > 0: info1 = self.name+"对"+enemy.name+"发起超被动攻击," info2 = "造成"+str(self.attack+12)+"点伤害," info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量" info4="消耗被动值4点,目前的被动值为:0" info = info1+info2+info3 print(info) else: info3 = enemy.name+"阵亡,游戏结束" info = info1+info2+info3 print(info) exit() elif self.bd==3: enemy.hp -=7 self.bd=self.bd-3 if enemy.hp > 0: info1 = self.name+"对"+enemy.name+"发起强被动攻击," info2 = "造成"+str(self.attack+8)+"点伤害," info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量" info4="消耗被动值3点,目前的被动值为:0" info = info1+info2+info3 print(info) else: info3 = enemy.name+"阵亡,游戏结束" info = info1+info2+info3 print(info) exit() elif self.bd==2: enemy.hp -=5 self.bd=self.bd-2 if enemy.hp > 0: info1 = self.name+"对"+enemy.name+"发起被动攻击," info2 = "造成"+str(self.attack+4)+"点伤害," info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量" info4="消耗被动值2点,目前的被动值为:0" info = info1+info2+info3 print(info) else: info3 = enemy.name+"阵亡,游戏结束" info = info1+info2+info3 print(info) exit() else: self.bd=self.bd+1 if enemy.hp > 0: info1 = self.name+"对"+enemy.name+"发起攻击," info2 = "造成"+str(self.attack)+"点伤害," info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量" info4="被动值增加1点,目前的被动值为:",self.bd info = info1+info2+info3 print(info) else: info3 = enemy.name+"阵亡,游戏结束" info = info1+info2+info3 print(info) exit() self.tili=self.tili+2 if self.tili>self.max_tili: self.tili=self.max_tili print("出招后,体力回复2点,目前的体力为:",self.tili) def dacombat(self, enemy,tili,max_tili): #大招:暴击 self.tili=self.tili-10 info1 = self.name+"对"+enemy.name+"发起大招:暴击," info2 = "暴击造成"+str(self.attack*2)+"点伤害," enemy.hp=enemy.hp-(self.attack*2) if enemy.hp > 0: info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量" info = info1+info2+info3 print(info) else: info3 = enemy.name+"阵亡,游戏结束" info = info1+info2+info3 print(info) exit() self.tili=self.tili+2 if self.tili>self.max_tili: self.tili=self.max_tili print("出招后,体力回复2点,目前的体力为:",self.tili) def zhongcombat(self, enemy,tili,max_tili,sdft,sdfy): #中招:圣盾防御 self.tili=self.tili-7 if self.sdfy==7: enemy.hp=enemy.hp-self.sdft self.hp=self.hp+30 if self.hp>self.max_hp: self.hp=self.max_hp info1 = self.name+"开启二级圣盾防御,跳过后面的阶段,体力减少7,目前的体力为:"+str(self.tili) info4 = ",血量增加:30,目前的血量为:"+str(self.hp) info2 =",圣盾反弹伤害造成"+str(self.sdft)+"点伤害," info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量" info = info2+info3 print(info1) print(info4) print(info) elif self.sdfy==6: enemy.hp=enemy.hp-self.sdft self.hp=self.hp+30 if self.hp>self.max_hp: self.hp=self.max_hp info1 = self.name+"开启二级圣盾防御,体力减少7,目前的体力为:"+str(self.tili) info4 = ",血量增加:30,目前的血量为:"+str(self.hp) info2 =",圣盾反弹伤害造成"+str(self.sdft)+"点伤害," info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量" info = info2+info3 print(info1) print(info4) print(info) elif self.sdfy==5: enemy.hp=enemy.hp-self.sdft info1 = self.name+"开启二级圣盾防御,跳过后面的阶段,体力减少7,目前的体力为:"+str(self.tili) info2="圣盾反弹伤害造成"+str(self.sdft)+"点伤害," info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量" info = info2+info3 print(info1) print(info) elif self.sdfy==4: self.hp=self.hp+30 if self.hp>self.max_hp: self.hp=self.max_hp info1 = self.name+"开启二级圣盾防御,跳过后面的阶段,体力减少7,目前的体力为:"+str(self.tili) info3 = "血量增加:30,目前的血量为:"+str(self.hp) print(info1) print(info3) elif self.sdfy==3: enemy.hp -= self.sdft info1 = self.name+"开启一级圣盾防御," info2="圣盾反弹伤害造成"+str(self.sdft)+"点伤害,体力减少7,目前的体力为:"+str(self.tili) info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量" info = info1+info2+info3 print(info) elif self.sdfy==2: self.hp=self.hp+30 if self.hp>self.max_hp: self.hp=self.max_hp info1 = self.name+"开启一级圣盾防御,血量增加:30,目前的血量为:"+str(self.hp)+",体力减少7,目前的体力为:"+str(self.tili) print(info1) elif self.sdfy==1: info1 = self.name+"开启一级圣盾防御,体力减少7,目前的体力为:"+str(self.tili) print(info1) else: info1 = self.name+"开启圣盾防御失败,体力减少7,目前的体力为:"+str(self.tili) print(info1) self.tili=self.tili+2 if self.tili>self.max_tili: self.tili=self.max_tili print("出招后,体力回复2点,目前的体力为:",self.tili) def xiaocombat(self, enemy,tili,max_tili): #小招:强化 self.tili=self.tili-4 self.hp=self.hp+25 self.bd=self.bd+3 if self.hp>self.max_hp: self.hp=self.max_hp info1 = self.name+"开启强化,血量增加:25,目前的血量为:"+str(self.hp)+",被动值增加3点,目前的被动值为:"+str(self.bd)+",体力减少4,目前的体力为:"+str(self.tili) print(info1) self.tili=self.tili+2 if self.tili>self.max_tili: self.tili=self.max_tili print("出招后,体力回复2点,目前的体力为:",self.tili) class Player(object): def __init__(self,hero_type,name,tili,max_tili,ls): self.tili=tili self.max_tili=max_tili self.ls=ls self.bd=0 self.name = name self.level = 1 self.hp = 210 self.attack = 50 self.max_hp = self.hp self.hero_type = hero_type print("玩家角色"+self.name+"创建成功,英雄类型为:", self.hero_type) print("当前等级、血量、攻击力分别为:",self.level,self.hp,self.attack) def cure(self,tili,max_tili): # 治疗 self.hp=self.hp+50 self.tili=self.tili-3 if self.tili<0: self.tili=0 if self.hp>self.max_hp: self.hp=self.max_hp print(self.name+"使用了治疗,血量增加:50,目前的血量为:"+str(self.hp)+",体力减少3,目前的体力为:"+str(self.tili)) self.tili=self.tili+2 if self.tili>self.max_tili: self.tili=self.max_tili print("出招后,体力回复2点,目前的体力为:",self.tili) def combat(self, enemy,tili,max_tili): # 普通攻击 enemy.hp -= self.attack if self.bd>10: enemy.hp -=25 self.bd=self.bd-11 if enemy.hp > 0: info1 = self.name+"对"+enemy.name+"发起用极限被动攻击," info2 = "造成"+str(self.attack+20)+"点伤害," info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量" info4="消耗被动值11点,目前的被动值为:",self.bd info = info1+info2+info3 print(info) else: info3 = enemy.name+"阵亡,游戏结束" info = info1+info2+info3 print(info) exit() elif self.bd==10: enemy.hp -=23 self.bd=self.bd-10 if enemy.hp > 0: info1 = self.name+"对"+enemy.name+"发起荣耀被动攻击," info2 = "造成"+str(self.attack+16)+"点伤害," info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量" info4="消耗被动值10点,目前的被动值为:0" info = info1+info2+info3 print(info) else: info3 = enemy.name+"阵亡,游戏结束" info = info1+info2+info3 print(info) exit() elif self.bd==9: enemy.hp -=20 self.bd=self.bd-9 if enemy.hp > 0: info1 = self.name+"对"+enemy.name+"发起圣力被动攻击," info2 = "造成"+str(self.attack+16)+"点伤害," info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量" info4="消耗被动值9点,目前的被动值为:0" info = info1+info2+info3 print(info) else: info3 = enemy.name+"阵亡,游戏结束" info = info1+info2+info3 print(info) exit() elif self.bd==8: enemy.hp -=18 self.bd=self.bd-8 if enemy.hp > 0: info1 = self.name+"对"+enemy.name+"发起神力被动攻击," info2 = "造成"+str(self.attack+16)+"点伤害," info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量" info4="消耗被动值8点,目前的被动值为:0" info = info1+info2+info3 print(info) else: info3 = enemy.name+"阵亡,游戏结束" info = info1+info2+info3 print(info) exit() elif self.bd==7: enemy.hp -=16 self.bd=self.bd-7 if enemy.hp > 0: info1 = self.name+"对"+enemy.name+"发起道力被动攻击," info2 = "造成"+str(self.attack+16)+"点伤害," info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量" info4="消耗被动值7点,目前的被动值为:0" info = info1+info2+info3 print(info) else: info3 = enemy.name+"阵亡,游戏结束" info = info1+info2+info3 print(info) exit() elif self.bd==6: enemy.hp -=13 self.bd=self.bd-6 if enemy.hp > 0: info1 = self.name+"对"+enemy.name+"发起魂被动攻击," info2 = "造成"+str(self.attack+16)+"点伤害," info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量" info4="消耗被动值6点,目前的被动值为:0" info = info1+info2+info3 print(info) else: info3 = enemy.name+"阵亡,游戏结束" info = info1+info2+info3 print(info) exit() elif self.bd==5: enemy.hp -=11 self.bd=self.bd-5 if enemy.hp > 0: info1 = self.name+"对"+enemy.name+"发起灵被动攻击," info2 = "造成"+str(self.attack+16)+"点伤害," info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量" info4="消耗被动值5点,目前的被动值为:0" info = info1+info2+info3 print(info) else: info3 = enemy.name+"阵亡,游戏结束" info = info1+info2+info3 print(info) exit() elif self.bd==4: enemy.hp -=9 self.bd=self.bd-4 if enemy.hp > 0: info1 = self.name+"对"+enemy.name+"发起超被动攻击," info2 = "造成"+str(self.attack+12)+"点伤害," info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量" info4="消耗被动值4点,目前的被动值为:0" info = info1+info2+info3 print(info) else: info3 = enemy.name+"阵亡,游戏结束" info = info1+info2+info3 print(info) exit() elif self.bd==3: enemy.hp -=7 self.bd=self.bd-3 if enemy.hp > 0: info1 = self.name+"对"+enemy.name+"发起强被动攻击," info2 = "造成"+str(self.attack+8)+"点伤害," info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量" info4="消耗被动值3点,目前的被动值为:0" info = info1+info2+info3 print(info) else: info3 = enemy.name+"阵亡,游戏结束" info = info1+info2+info3 print(info) exit() elif self.bd==2: enemy.hp -=5 self.bd=self.bd-2 if enemy.hp > 0: info1 = self.name+"对"+enemy.name+"发起被动攻击," info2 = "造成"+str(self.attack+4)+"点伤害," info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量" info4="消耗被动值2点,目前的被动值为:0" info = info1+info2+info3 print(info) else: info3 = enemy.name+"阵亡,游戏结束" info = info1+info2+info3 print(info) exit() else: self.bd=self.bd+1 if enemy.hp > 0: info1 = self.name+"对"+enemy.name+"发起攻击," info2 = "造成"+str(self.attack)+"点伤害," info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量" info4="被动值增加1点,目前的被动值为:",self.bd info = info1+info2+info3 print(info) else: info3 = enemy.name+"阵亡,游戏结束" info = info1+info2+info3 print(info) exit() self.tili=self.tili+2 if self.tili>self.max_tili: self.tili=self.max_tili print("出招后,体力回复2点,目前的体力为:",self.tili) def dacombat(self, enemy,tili,max_tili): #大招:金乌神箭 self.tili=self.tili-10 if self.tili<0: self.tili=0 info1 = self.name+"对"+enemy.name+"发起大招:金乌神箭," info2 = "金乌神箭造成"+str(self.attack*2)+"点伤害,体力减少10,目前的体力为:"+str(self.tili)+"," enemy.hp=enemy.hp-(self.attack*2) if enemy.hp > 0: info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量" info = info1+info2+info3 print(info) else: info3 = enemy.name+"阵亡,游戏结束" info = info1+info2+info3 print(info) exit() self.tili=self.tili+2 if self.tili>self.max_tili: self.tili=self.max_tili print("出招后,体力回复2点,目前的体力为:",self.tili) def zhongcombat(self, enemy,tili,max_tili): #中招:天降巨箭 self.tili=self.tili-7 if self.tili<0: self.tili=0 info1 = self.name+"对"+enemy.name+"发起中招:天降巨箭," info2 = "天降巨箭造成"+str(self.attack+30)+"点伤害,体力减少7,目前的体力为:"+str(self.tili)+"," enemy.hp=enemy.hp-(self.attack*2) if enemy.hp > 0: info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量" info = info1+info2+info3 print(info) else: info3 = enemy.name+"阵亡,游戏结束" info = info1+info2+info3 print(info) exit() self.tili=self.tili+2 if self.tili>self.max_tili: self.tili=self.max_tili print("出招后,体力回复2点,目前的体力为:",self.tili) def xiaocombat(self, enemy,tili,max_tili,ls): #小招:连射 lss=self.ls*3 self.tili=self.tili-4 if self.tili<0: self.tili=0 info1 = self.name+"对"+enemy.name+"发起小招:连射,体力减少4,目前的体力为:"+str(self.tili)+"," info2 = "连射"+str(self.ls)+"箭,造成"+str(self.attack+lss)+"点伤害," if self.ls==0: enemy.hp=enemy.hp-(self.attack+lss) if enemy.hp > 0: info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量" info2 = "连射1箭,但射偏了,造成"+str(self.attack+lss)+"点伤害," info = info1+info2+info3 print(info) else: info3 = enemy.name+"阵亡,游戏结束" info = info1+info2+info3 print(info) exit() elif self.ls==1: enemy.hp=enemy.hp-(self.attack+lss) if enemy.hp > 0: info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量" info = info1+info2+info3 print(info) else: info3 = enemy.name+"阵亡,游戏结束" info = info1+info2+info3 print(info) exit() elif self.ls==2: enemy.hp=enemy.hp-(self.attack+lss) if enemy.hp > 0: info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量" info = info1+info2+info3 print(info) else: info3 = enemy.name+"阵亡,游戏结束" info = info1+info2+info3 print(info) exit() elif self.ls==3: enemy.hp=enemy.hp-(self.attack+lss) if enemy.hp > 0: info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量" info = info1+info2+info3 print(info) else: info3 = enemy.name+"阵亡,游戏结束" info = info1+info2+info3 print(info) exit() elif self.ls==4: enemy.hp=enemy.hp-(self.attack+lss) if enemy.hp > 0: info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量" info = info1+info2+info3 print(info) else: info3 = enemy.name+"阵亡,游戏结束" info = info1+info2+info3 print(info) exit() elif self.ls==5: enemy.hp=enemy.hp-(self.attack+lss) if enemy.hp > 0: info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量" info = info1+info2+info3 print(info) else: info3 = enemy.name+"阵亡,游戏结束" info = info1+info2+info3 print(info) exit() elif self.ls==6: enemy.hp=enemy.hp-(self.attack+lss) if enemy.hp > 0: info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量" info = info1+info2+info3 print(info) else: info3 = enemy.name+"阵亡,游戏结束" info = info1+info2+info3 print(info) exit() elif self.ls==7: enemy.hp=enemy.hp-(self.attack+lss) if enemy.hp > 0: info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量" info = info1+info2+info3 print(info) else: info3 = enemy.name+"阵亡,游戏结束" info = info1+info2+info3 print(info) exit() elif self.ls==8: enemy.hp=enemy.hp-(self.attack+lss) if enemy.hp > 0: info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量" info = info1+info2+info3 print(info) else: info3 = enemy.name+"阵亡,游戏结束" info = info1+info2+info3 print(info) exit() elif self.ls==9: enemy.hp=enemy.hp-(self.attack+lss-2) self.bd=self.bd+2 info2 = "连射"+str(ls)+"箭,造成"+str(self.attack+lss-2)+"点伤害,被动值增加2点,目前的被动值为:"+str(self.bd)+"," if enemy.hp > 0: info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量" info = info1+info2+info3 print(info) else: info3 = enemy.name+"阵亡,游戏结束" info = info1+info2+info3 print(info) exit() else: enemy.hp=enemy.hp-(self.attack+lss-5) self.bd=self.bd+4 info2 = "连射"+str(ls)+"箭,造成"+str(self.attack+lss-5)+"点伤害,被动值增加4点,目前的被动值为:"+str(self.bd)+"," if enemy.hp > 0: info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量" info = info1+info2+info3 print(info) else: info3 = enemy.name+"阵亡,游戏结束" info = info1+info2+info3 print(info) exit() self.tili=self.tili+2 if self.tili>self.max_tili: self.tili=self.max_tili print("出招后,体力回复2点,目前的体力为:",self.tili) h_tili=5 p_tili=5 h_max_tili=10 p_max_tili=10 ls=0 sdft=0 sdfy=0 print("欢迎来到王者荣耀(文字版)") print(30*"-") yase = Hero("坦克","垭瑟",h_tili,h_max_tili,sdft,sdfy) houyi = Player("射手","后羿",p_tili,p_max_tili,ls) print(30*"-") print(" 战斗开始") while True: print(30*"-") if p_tili>9: choice=input("目前的体力为:"+str(p_tili)+",请选择释放英雄技能(q退出/a治疗/0普通攻击/1小招:连射/2中招:天降巨箭/3大招:金乌神箭):") elif p_tili>6: choice=input("目前的体力为:"+str(p_tili)+",请选择释放英雄技能(q退出/a治疗/0普通攻击/1小招:连射/2中招:天降巨箭):") elif p_tili>3: choice=input("目前的体力为:"+str(p_tili)+",请选择释放英雄技能(q退出/a治疗/0普通攻击/1小招:连射):") elif p_tili>2: choice=input("目前的体力为:"+str(p_tili)+",请选择释放英雄技能(q退出/a治疗/0普通攻击):") else: choice=input("目前的体力为:"+str(p_tili)+",请选择释放英雄技能(q退出/0普通攻击):") if choice=="q": print("游戏结束") break elif choice=="a" and p_tili>2: houyi.cure(p_tili,p_max_tili) p_tili-=1 elif choice=="0": houyi.combat(yase,p_tili,p_max_tili) p_tili+=2 if p_tili>p_max_tili: p_tili=p_max_tili elif choice=="1" and p_tili>3: ls=random.randint(0,10) houyi.xiaocombat(yase,p_tili,p_max_tili,ls) p_tili-=2 if ls==0: sdft=50 elif ls==1: sdft=53 elif ls==2: sdft=56 elif ls==3: sdft=59 elif ls==4: sdft=62 elif ls==5: sdft=65 elif ls==6: sdft=68 elif ls==7: sdft=71 elif ls==8: sdft=74 else: sdft=75 elif choice=="2" and p_tili>6: houyi.zhongcombat(yase,p_tili,p_max_tili) p_tili-=5 sdft=80 elif choice=="3" and p_tili>9: houyi.dacombat(yase,p_tili,p_max_tili) p_tili-=8 sdft=100 else: print("指令无效") continue if h_tili<3: mun=1 elif h_tili<4: mun=random.randint(1,2) elif h_tili<7: mun=random.randint(1,3) elif h_tili<10: mun=random.randint(1,4) else: mun=random.randint(1,5) if mun==1: yase.combat(houyi,h_tili,h_max_tili) h_tili+=2 if h_tili>h_max_tili: h_tili=h_max_tili elif mun==2: yase.cure(h_tili,h_max_tili) h_tili-=1 elif mun==3: yase.xiaocombat(houyi,h_tili,h_max_tili) h_tili-=2 elif mun==4: sdfy==random.randint(0,10) yase.zhongcombat(houyi,h_tili,h_max_tili,sdft,sdfy) h_tili-=5 if sdfy==1 or sdfy==4 or sdfy==5 or sdfy==7: continue else: yase.dacombat(houyi,h_tili,h_max_tili) h_tili-=8