Commit 1713ad0e by BellCodeEditor

save project

parent 79844cd4
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
\ No newline at end of file
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
info1 = self.name+"对"+enemy.name+"发起用极限被动攻击,"
info2 = "造成"+str(self.attack+25)+"点伤害,"
if enemy.hp > 0:
info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量,"
info4="消耗被动值11点,目前的被动值为:"+str(self.bd)
info = info1+info2+info3+info4
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
info1 = self.name+"对"+enemy.name+"发起荣耀被动攻击,"
info2 = "造成"+str(self.attack+23)+"点伤害,"
if enemy.hp > 0:
info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量,"
info4="消耗被动值10点,目前的被动值为:0"
info = info1+info2+info3+info4
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
info1 = self.name+"对"+enemy.name+"发起圣力被动攻击,"
info2 = "造成"+str(self.attack+20)+"点伤害,"
if enemy.hp > 0:
info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量,"
info4="消耗被动值9点,目前的被动值为:0"
info = info1+info2+info3+info4
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
info1 = self.name+"对"+enemy.name+"发起神力被动攻击,"
info2 = "造成"+str(self.attack+18)+"点伤害,"
if enemy.hp > 0:
info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量,"
info4="消耗被动值8点,目前的被动值为:0"
info = info1+info2+info3+info4
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
info1 = self.name+"对"+enemy.name+"发起道力被动攻击,"
info2 = "造成"+str(self.attack+16)+"点伤害,"
if enemy.hp > 0:
info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量,"
info4="消耗被动值7点,目前的被动值为:0"
info = info1+info2+info3
print(info)
else:
info3 = enemy.name+"阵亡,游戏结束"
info = info1+info2+info3+info4
print(info)
exit()
elif self.bd==6:
enemy.hp -=13
self.bd=self.bd-6
info1 = self.name+"对"+enemy.name+"发起魂被动攻击,"
info2 = "造成"+str(self.attack+13)+"点伤害,"
if enemy.hp > 0:
info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量,"
info4="消耗被动值6点,目前的被动值为:0"
info = info1+info2+info3
print(info)
else:
info3 = enemy.name+"阵亡,游戏结束"
info = info1+info2+info3+info4
print(info)
exit()
elif self.bd==5:
enemy.hp -=11
self.bd=self.bd-5
info1 = self.name+"对"+enemy.name+"发起灵被动攻击,"
info2 = "造成"+str(self.attack+11)+"点伤害,"
if enemy.hp > 0:
info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量,"
info4="消耗被动值5点,目前的被动值为:0"
info = info1+info2+info3+info4
print(info)
else:
info3 = enemy.name+"阵亡,游戏结束"
info = info1+info2+info3+info4
print(info)
exit()
elif self.bd==4:
enemy.hp -=9
self.bd=self.bd-4
info1 = self.name+"对"+enemy.name+"发起超被动攻击,"
info2 = "造成"+str(self.attack+9)+"点伤害,"
if enemy.hp > 0:
info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量,"
info4="消耗被动值4点,目前的被动值为:0"
info = info1+info2+info3+info4
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
info1 = self.name+"对"+enemy.name+"发起强被动攻击,"
info2 = "造成"+str(self.attack+7)+"点伤害,"
if enemy.hp > 0:
info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量,"
info4="消耗被动值3点,目前的被动值为:0"
info = info1+info2+info3+info4
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
info1 = self.name+"对"+enemy.name+"发起被动攻击,"
info2 = "造成"+str(self.attack+5)+"点伤害,"
if enemy.hp > 0:
info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量,"
info4="消耗被动值2点,目前的被动值为:0"
info = info1+info2+info3+info4
print(info)
else:
info3 = enemy.name+"阵亡,游戏结束"
info = info1+info2+info3
print(info)
exit()
else:
self.bd=self.bd+1
info1 = self.name+"对"+enemy.name+"发起攻击,"
info2 = "造成"+str(self.attack)+"点伤害,"
if enemy.hp > 0:
info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量,"
info4="被动值增加1点,目前的被动值为:"+str(self.bd)
info = info1+info2+info3+info4
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
info1 = self.name+"对"+enemy.name+"发起用极限被动攻击,"
info2 = "造成"+str(self.attack+25)+"点伤害,"
if enemy.hp > 0:
info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量,"
info4="消耗被动值11点,目前的被动值为:"+str(self.bd)
info = info1+info2+info3+info4
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
info1 = self.name+"对"+enemy.name+"发起荣耀被动攻击,"
info2 = "造成"+str(self.attack+23)+"点伤害,"
if enemy.hp > 0:
info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量,"
info4="消耗被动值10点,目前的被动值为:0"
info = info1+info2+info3+info4
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
info1 = self.name+"对"+enemy.name+"发起圣力被动攻击,"
info2 = "造成"+str(self.attack+20)+"点伤害,"
if enemy.hp > 0:
info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量,"
info4="消耗被动值9点,目前的被动值为:0"
info = info1+info2+info3+info4
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
info1 = self.name+"对"+enemy.name+"发起神力被动攻击,"
info2 = "造成"+str(self.attack+18)+"点伤害,"
if enemy.hp > 0:
info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量,"
info4="消耗被动值8点,目前的被动值为:0"
info = info1+info2+info3+info4
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
info1 = self.name+"对"+enemy.name+"发起道力被动攻击,"
info2 = "造成"+str(self.attack+16)+"点伤害,"
if enemy.hp > 0:
info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量,"
info4="消耗被动值7点,目前的被动值为:0"
info = info1+info2+info3
print(info)
else:
info3 = enemy.name+"阵亡,游戏结束"
info = info1+info2+info3+info4
print(info)
exit()
elif self.bd==6:
enemy.hp -=13
self.bd=self.bd-6
info1 = self.name+"对"+enemy.name+"发起魂被动攻击,"
info2 = "造成"+str(self.attack+13)+"点伤害,"
if enemy.hp > 0:
info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量,"
info4="消耗被动值6点,目前的被动值为:0"
info = info1+info2+info3
print(info)
else:
info3 = enemy.name+"阵亡,游戏结束"
info = info1+info2+info3+info4
print(info)
exit()
elif self.bd==5:
enemy.hp -=11
self.bd=self.bd-5
info1 = self.name+"对"+enemy.name+"发起灵被动攻击,"
info2 = "造成"+str(self.attack+11)+"点伤害,"
if enemy.hp > 0:
info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量,"
info4="消耗被动值5点,目前的被动值为:0"
info = info1+info2+info3+info4
print(info)
else:
info3 = enemy.name+"阵亡,游戏结束"
info = info1+info2+info3+info4
print(info)
exit()
elif self.bd==4:
enemy.hp -=9
self.bd=self.bd-4
info1 = self.name+"对"+enemy.name+"发起超被动攻击,"
info2 = "造成"+str(self.attack+9)+"点伤害,"
if enemy.hp > 0:
info3 = enemy.name+"还剩下"+str(enemy.hp)+"血,"
info4="消耗被动值4点,目前的被动值为:0"
info = info1+info2+info3+info4
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
info1 = self.name+"对"+enemy.name+"发起强被动攻击,"
info2 = "造成"+str(self.attack+7)+"点伤害,"
if enemy.hp > 0:
info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量,"
info4="消耗被动值3点,目前的被动值为:0"
info = info1+info2+info3+info4
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
info1 = self.name+"对"+enemy.name+"发起被动攻击,"
info2 = "造成"+str(self.attack+5)+"点伤害,"
if enemy.hp > 0:
info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量,"
info4="消耗被动值2点,目前的被动值为:0"
info = info1+info2+info3+info4
print(info)
else:
info3 = enemy.name+"阵亡,游戏结束"
info = info1+info2+info3
print(info)
exit()
else:
self.bd=self.bd+1
info1 = self.name+"对"+enemy.name+"发起攻击,"
info2 = "造成"+str(self.attack)+"点伤害,"
if enemy.hp > 0:
info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量,"
info4="被动值增加1点,目前的被动值为:"+str(self.bd)
info = info1+info2+info3+info4
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=random.randint(0,10)
sdft=0
sdfy=random.randint(0,7)
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
sdft=sdft//1000+50
elif choice=="1" and p_tili>3:
ls=ls//1000+random.randint(0,10)
houyi.xiaocombat(yase,p_tili,p_max_tili,ls)
p_tili-=2
if ls==0:
sdft=sdft//1000+50
elif ls==1:
sdft=sdft//1000+53
elif ls==2:
sdft=sdft//1000+56
elif ls==3:
sdft=sdft//1000+59
elif ls==4:
sdft=sdft//1000+62
elif ls==5:
sdft=sdft//1000+65
elif ls==6:
sdft=sdft//1000+68
elif ls==7:
sdft=sdft//1000+71
elif ls==8:
sdft=sdft//1000+74
else:
sdft=sdft//1000+75
elif choice=="2" and p_tili>6:
houyi.zhongcombat(yase,p_tili,p_max_tili)
p_tili-=5
sdft=sdft//1000+80
elif choice=="3" and p_tili>9:
houyi.dacombat(yase,p_tili,p_max_tili)
p_tili-=8
sdft=sdft//1000+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=sdfy//1000+random.randint(0,17)
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
\ No newline at end of file
info1="aas"
info2="asdf"
info3 = "还剩下血量"
info = info1+info2+info3
print(info)
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment