Commit 7e7916f5 by BellCodeEditor

save project

parent efb0dcfd
Showing with 144 additions and 213 deletions
import random
bd1=0
class Hero(object):
def __init__(self,hero_type,name):
self.name = name
self.level = 1
self.hp = 260
self.attack = 40
self.tili=5
self.max_tili=10
self.min_tili=0
self.max_hp = self.hp
self.hero_type = hero_type
print("电脑角色"+self.name+"创建成功,英雄类型为:", self.hero_type)
......@@ -13,28 +16,97 @@ class Hero(object):
def cure(self): # 治疗
self.hp=self.hp+55
self.tili=self.tili-3
if self.hp>self.max_hp:
self.hp=self.max_hp
print(self.name+"使用了治疗,血量增加:", 55,",目前的血量为:",self.hp)
print(self.name+"使用了治疗,血量增加:", 55,",目前的血量为:",self.hp+"体力减少3,目前的体力为:",self.tili)
self.tili=self.tili+2
print("出招后,体力回复2点,目前的体力为:",self.tili)
def combat(self, enemy): # 普通攻击
info1 = self.name+"对"+enemy.name+"发起进攻,"
info2 = "造成"+str(self.attack)+"点伤害,"
enemy.hp -= self.attack
if enemy.hp > 0:
info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量"
info = info1+info2+info3
print(info)
if bd1==5:
enemy.hp -=20
bd1=bd1-5
if enemy.hp > 0:
info1 = self.name+"对"+enemy.name+"发起用荣耀被动攻击,"
info2 = "造成"+str(self.attack+10)+"点伤害,"
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 bd1==4:
enemy.hp -=15
bd1=bd1-4
if enemy.hp > 0:
info1 = self.name+"对"+enemy.name+"发起超被动攻击,"
info2 = "造成"+str(self.attack+10)+"点伤害,"
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 bd1==3:
enemy.hp -=10
bd1=bd1-3
if enemy.hp > 0:
info1 = self.name+"对"+enemy.name+"发起强被动攻击,"
info2 = "造成"+str(self.attack+10)+"点伤害,"
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 bd1==2:
enemy.hp -=5
bd1=bd1-2
if enemy.hp > 0:
info1 = self.name+"对"+enemy.name+"发起被动攻击,"
info2 = "造成"+str(self.attack+5)+"点伤害,"
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:
info3 = enemy.name+"阵亡,游戏结束"
info = info1+info2+info3
print(info)
exit()
bd1=bd1+1
if enemy.hp > 0:
info1 = self.name+"对"+enemy.name+"发起攻击,"
info2 = "造成"+str(self.attack)+"点伤害,"
info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量"
info4="被动值增加1点,目前的被动值为:",bd1
info = info1+info2+info3
print(info)
else:
info3 = enemy.name+"阵亡,游戏结束"
info = info1+info2+info3
print(info)
exit()
self.tili=self.tili+2
print("出招后,体力回复2点,目前的体力为:",self.tili)
def jscombat(self, enemy): #绝杀
info1 = self.name+"对"+enemy.name+"发起绝杀,"
info2 = "绝杀造成"+str(self.attack+5)+"点伤害,"
enemy.hp=enemy.hp-self.attack-5
def dacombat(self, enemy): #大招:暴击
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
......@@ -44,23 +116,52 @@ class Hero(object):
info = info1+info2+info3
print(info)
exit()
self.tili=self.tili+2
print("出招后,体力回复2点,目前的体力为:",self.tili)
def ftcombat(self, enemy): #反弹
ftaaa=random.randint(25,100)
info1 = self.name+"对"+enemy.name+"反弹伤害,"
info2 = "反弹造成"+str(ftaaa)+"点伤害,"
enemy.hp=enemy.hp-int(ftaaa)
if enemy.hp > 0:
def zhongcombat(self, enemy): #中招:圣盾防御
self.tili=self.tili-7
sdfy=random.randint(1,3)
if sdfy==3:
info1 = self.name+"开启一级圣盾防御,体力减少7,目前的体力为:",self.tili
print(info1)
self.tili=self.tili+2
print("出招后,体力回复2点,目前的体力为:",self.tili)
continue
elif sdfy==2:
enemy.hp -= ftsy
info1 = self.name+"开启二级圣盾防御,"
info2="圣盾反弹伤害造成"+str(ftsy)+"点伤害,体力减少7,目前的体力为:",self.tili
info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量"
info = info1+info2+info3
print(info)
self.tili=self.tili+2
print("出招后,体力回复2点,目前的体力为:",self.tili)
else:
info3 = enemy.name+"阵亡,游戏结束"
enemy.hp -= ftsy
info1 = self.name+"开启三级圣盾防御,"
info2="圣盾反弹伤害造成"+str(ftsy)+"点伤害,体力减少7,目前的体力为:",self.tili
info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量"
info = info1+info2+info3
print(info)
exit()
self.tili=self.tili+2
print("出招后,体力回复2点,目前的体力为:",self.tili)
continue
def xiaocombat(self, enemy): #小招:强化
self.tili=self.tili-4
self.hp=self.hp+25
bd1=bd1+3
if self.hp>self.max_hp:
self.hp=self.max_hp
print(self.name+"使用了治疗,血量增加:", 55,",目前的血量为:",self.hp+"体力减少3,目前的体力为:",self.tili)
info1 = self.name+"开启强化,血量增加:", 25,",目前的血量为:",self.hp+"被动值增加1点,目前的被动值为:",bd1+"体力减少4,目前的体力为:",self.tili
print(info1)
self.tili=self.tili+2
print("出招后,体力回复2点,目前的体力为:",self.tili)
class Player(object):
def __init__(self,hero_type,name):
......@@ -109,56 +210,13 @@ class Player(object):
print(info)
exit()
def sj(self, enemy): # 升级
hjk=random.randint(1,7)
if hjk==1:
info1 = "升级未成,"+self.name+"对"+enemy.name+"发起进攻,"
info2 = "造成"+str(self.attack)+"点伤害,"
enemy.hp -= self.attack
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 hjk==2:
asd=random.randint(30,60)
self.hp=self.hp+asd
if self.hp>self.max_hp:
self.hp=self.max_hp
print("升级未成,"+self.name+"使用了治疗,血量增加:", asd,",目前的血量为:",self.hp)
elif hjk==3:
qsaaa=random.randint(25,75)
info1 = "升级未成,"+self.name+"对"+enemy.name+"发起强杀,"
info2 = "强杀造成"+str(qsaaa)+"点伤害,"
enemy.hp=enemy.hp-self.attack-5
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 hjk==4 and hjk==5:
self.level = self.level+1
self.attack =self.attack*2
print(self.name+"成功升级,当前等级、攻击力分别为:",self.level,self.attack)
else:
print("升级未成")
yase = Hero("坦克","垭瑟")
houyi = Player("射手", "后羿")
print(30*"-")
print(" 战斗开始")
while True:
print(30*"-")
choice=input("请选择释放英雄技能(q退出/1攻击/2治疗/3强杀/4升级):")
choice=input("请选择释放英雄技能(q退出/1攻击/2治疗/3强杀):")
if choice=="q":
print("游戏结束")
break
......@@ -168,17 +226,26 @@ while True:
houyi.cure()
elif choice=="3":
houyi.qscombat(yase)
elif choice=="4":
houyi.sj(yase)
else:
print("请重新输入")
continue
mun=random.randint(1,16)
if mun>0 and mun<5:
yase.cure()
elif mun>4 and mun<8:
yase.jscombat(houyi)
elif mun==8 or mun==9:
yase.ftcombat(houyi)
if yase.tili<3:
mun=1
elif yase.tili<4:
mun=random.randint(1,2)
elif yase.tili<7:
mun=random.randint(1,3)
elif yase.tili<10:
mun=random.randint(1,4)
else:
mun=random.randint(1,5)
if mun==1:
yase.combat(houyi)
elif mun==2:
yase.cure()
elif mun==3:
yase.xiaocombat(houyi)
elif mun==4:
yase.zhongcombat(houyi)
else:
yase.dacombat(houyi)
import random
class Hero(object):
def __init__(self,hero_type,name):
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): # 治疗
self.hp=self.hp+55
if self.hp>self.max_hp:
self.hp=self.max_hp
print(self.name+"使用了治疗,血量增加:", 55,",目前的血量为:",self.hp)
def combat(self, enemy): # 普通攻击
info1 = self.name+"对"+enemy.name+"发起进攻,"
info2 = "造成"+str(self.attack)+"点伤害,"
enemy.hp -= self.attack
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()
def jscombat(self, enemy): #绝杀
info1 = self.name+"对"+enemy.name+"发起绝杀,"
info2 = "绝杀造成"+str(self.attack+5)+"点伤害,"
enemy.hp=enemy.hp-self.attack-5
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()
def ftcombat(self, enemy): #反弹
ftaaa=random.randint(25,100)
info1 = self.name+"对"+enemy.name+"反弹伤害,"
info2 = "反弹造成"+str(ftaaa)+"点伤害,"
enemy.hp=enemy.hp-int(ftaaa)
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()
class Player(object):
def __init__(self,hero_type,name):
self.name = name
self.level = 1
self.hp = 200
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 combat(self, enemy): # 普通攻击
info1 = self.name+"对"+enemy.name+"发起进攻,"
info2 = "造成"+str(self.attack)+"点伤害,"
enemy.hp -= self.attack
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()
def cure(self): # 治疗
asd=random.randint(30,60)
self.hp=self.hp+asd
if self.hp>self.max_hp:
self.hp=self.max_hp
print(self.name+"使用了治疗,血量增加:", asd,",目前的血量为:",self.hp)
def qscombat(self, enemy): #强杀
qsaaa=random.randint(25,75)
info1 = self.name+"对"+enemy.name+"发起强杀,"
info2 = "强杀造成"+str(qsaaa)+"点伤害,"
enemy.hp=enemy.hp-self.attack-5
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()
yase = Hero("坦克","垭瑟")
houyi = Player("射手", "后羿")
print(30*"-")
print(" 战斗开始")
while True:
print(30*"-")
choice=input("请选择释放英雄技能(q退出/1攻击/2治疗/3强杀):")
if choice=="q":
print("游戏结束")
break
elif choice=="1":
houyi.combat(yase)
elif choice=="2":
houyi.cure()
elif choice=="3":
houyi.qscombat(yase)
else:
print("请重新输入")
continue
mun=random.randint(1,16)
if mun>0 and mun<5:
yase.cure()
elif mun>4 and mun<8:
yase.jscombat(houyi)
elif mun==8 or mun==9:
yase.ftcombat(houyi)
else:
yase.combat(houyi)
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