Commit 4924b168 by BellCodeEditor

save project

parent 42827186
Showing with 194 additions and 19 deletions
import random import random
bd1=0 bd1=0
class Hero(object): class Hero(object):
def __init__(self,hero_type,name): def __init__(self,hero_type,name):
self.name = name self.name = name
...@@ -8,21 +9,22 @@ class Hero(object): ...@@ -8,21 +9,22 @@ class Hero(object):
self.attack = 40 self.attack = 40
self.tili=5 self.tili=5
self.max_tili=10 self.max_tili=10
self.min_tili=0
self.max_hp = self.hp self.max_hp = self.hp
self.hero_type = hero_type self.hero_type = hero_type
print("电脑角色"+self.name+"创建成功,英雄类型为:", self.hero_type) print("电脑角色"+self.name+"创建成功,英雄类型为:", self.hero_type)
print("当前等级、血量、攻击力分别为:",self.level,self.hp,self.attack) print("当前等级、血量、攻击力分别为:",self.level,self.hp,self.attack)
def cure(self): # 治疗 def cure(self): # 治疗
self.hp=self.hp+55 self.hp=self.hp+60
self.tili=self.tili-3 self.tili=self.tili-3
if self.hp>self.max_hp: if self.hp>self.max_hp:
self.hp=self.max_hp self.hp=self.max_hp
print(self.name+"使用了治疗,血量增加:", 55,",目前的血量为:",self.hp+"体力减少3,目前的体力为:",self.tili) print(self.name+"使用了治疗,血量增加:", 60,",目前的血量为:",self.hp+"体力减少3,目前的体力为:",self.tili)
self.tili=self.tili+2 self.tili=self.tili+2
print("出招后,体力回复2点,目前的体力为:",self.tili) print("出招后,体力回复2点,目前的体力为:",self.tili)
def combat(self, enemy): # 普通攻击 def combat(self, enemy): # 普通攻击
enemy.hp -= self.attack enemy.hp -= self.attack
if bd1==5: if bd1==5:
...@@ -102,6 +104,7 @@ class Hero(object): ...@@ -102,6 +104,7 @@ class Hero(object):
self.tili=self.tili+2 self.tili=self.tili+2
print("出招后,体力回复2点,目前的体力为:",self.tili) print("出招后,体力回复2点,目前的体力为:",self.tili)
def dacombat(self, enemy): #大招:暴击 def dacombat(self, enemy): #大招:暴击
self.tili=self.tili-10 self.tili=self.tili-10
info1 = self.name+"对"+enemy.name+"发起大招:暴击," info1 = self.name+"对"+enemy.name+"发起大招:暴击,"
...@@ -119,6 +122,7 @@ class Hero(object): ...@@ -119,6 +122,7 @@ class Hero(object):
self.tili=self.tili+2 self.tili=self.tili+2
print("出招后,体力回复2点,目前的体力为:",self.tili) print("出招后,体力回复2点,目前的体力为:",self.tili)
def zhongcombat(self, enemy): #中招:圣盾防御 def zhongcombat(self, enemy): #中招:圣盾防御
self.tili=self.tili-7 self.tili=self.tili-7
sdfy=random.randint(1,3) sdfy=random.randint(1,3)
...@@ -127,7 +131,6 @@ class Hero(object): ...@@ -127,7 +131,6 @@ class Hero(object):
print(info1) print(info1)
self.tili=self.tili+2 self.tili=self.tili+2
print("出招后,体力回复2点,目前的体力为:",self.tili) print("出招后,体力回复2点,目前的体力为:",self.tili)
continue
elif sdfy==2: elif sdfy==2:
enemy.hp -= ftsy enemy.hp -= ftsy
info1 = self.name+"开启二级圣盾防御," info1 = self.name+"开启二级圣盾防御,"
...@@ -146,7 +149,7 @@ class Hero(object): ...@@ -146,7 +149,7 @@ class Hero(object):
print(info) print(info)
self.tili=self.tili+2 self.tili=self.tili+2
print("出招后,体力回复2点,目前的体力为:",self.tili) print("出招后,体力回复2点,目前的体力为:",self.tili)
continue
def xiaocombat(self, enemy): #小招:强化 def xiaocombat(self, enemy): #小招:强化
self.tili=self.tili-4 self.tili=self.tili-4
...@@ -162,22 +165,115 @@ class Hero(object): ...@@ -162,22 +165,115 @@ class Hero(object):
class Player(object): class Player(object):
def __init__(self,hero_type,name): def __init__(self,hero_type,name):
self.name = name self.name = name
self.level = 1 self.level = 1
self.hp = 200 self.hp = 200
self.attack = 50 self.attack = 50
self.tili=5
self.max_tili=10
self.max_hp = self.hp self.max_hp = self.hp
self.hero_type = hero_type self.hero_type = hero_type
print("玩家角色"+self.name+"创建成功,英雄类型为:", self.hero_type) print("玩家角色"+self.name+"创建成功,英雄类型为:", self.hero_type)
print("当前等级、血量、攻击力分别为:",self.level,self.hp,self.attack) print("当前等级、血量、攻击力分别为:",self.level,self.hp,self.attack)
def cure(self): # 治疗
self.hp=self.hp+50
self.tili=self.tili-3
if self.hp>self.max_hp:
self.hp=self.max_hp
print(self.name+"使用了治疗,血量增加:",50,",目前的血量为:",self.hp+"体力减少3,目前的体力为:",self.tili)
self.tili=self.tili+2
print("出招后,体力回复2点,目前的体力为:",self.tili)
def combat(self, enemy): # 普通攻击 def combat(self, enemy): # 普通攻击
info1 = self.name+"对"+enemy.name+"发起进攻,"
info2 = "造成"+str(self.attack)+"点伤害,"
enemy.hp -= self.attack enemy.hp -= self.attack
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:
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 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: if enemy.hp > 0:
info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量" info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量"
info = info1+info2+info3 info = info1+info2+info3
...@@ -187,19 +283,88 @@ class Player(object): ...@@ -187,19 +283,88 @@ class Player(object):
info = info1+info2+info3 info = info1+info2+info3
print(info) print(info)
exit() exit()
self.tili=self.tili+2
print("出招后,体力回复2点,目前的体力为:",self.tili)
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): #强杀 def zhongcombat(self, enemy): #中招:天降巨箭
qsaaa=random.randint(25,75) self.tili=self.tili-7
info1 = self.name+"对"+enemy.name+"发起强杀," info1 = self.name+"对"+enemy.name+"发起中招:天降巨箭,"
info2 = "强杀造成"+str(qsaaa)+"点伤害," info2 = "天降巨箭造成"+str(self.attack+30)+"点伤害,"
enemy.hp=enemy.hp-self.attack-5 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
print("出招后,体力回复2点,目前的体力为:",self.tili)
def xiaocombat(self, enemy): #小招:连射
ls=random.randint(1,5)
ls5=ls*5
self.tili=self.tili-4
info1 = self.name+"对"+enemy.name+"发起小招:连射,"
info2 = "连射",ls,"箭,造成"+str(self.attack+ls5)+"点伤害,"
if ls==1:
enemy.hp=enemy.hp-(self.attack+ls5)
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
print("出招后,体力回复2点,目前的体力为:",self.tili)
elif ls==2:
enemy.hp=enemy.hp-(self.attack+ls5)
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
print("出招后,体力回复2点,目前的体力为:",self.tili)
elif ls==3:
enemy.hp=enemy.hp-(self.attack+ls5)
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
print("出招后,体力回复2点,目前的体力为:",self.tili)
elif ls==4:
enemy.hp=enemy.hp-(self.attack+ls5)
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
print("出招后,体力回复2点,目前的体力为:",self.tili)
else:
enemy.hp=enemy.hp-(self.attack+ls5)
if enemy.hp > 0: if enemy.hp > 0:
info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量" info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量"
info = info1+info2+info3 info = info1+info2+info3
...@@ -209,6 +374,10 @@ class Player(object): ...@@ -209,6 +374,10 @@ class Player(object):
info = info1+info2+info3 info = info1+info2+info3
print(info) print(info)
exit() exit()
self.tili=self.tili+2
print("出招后,体力回复2点,目前的体力为:",self.tili)
yase = Hero("坦克","垭瑟") yase = Hero("坦克","垭瑟")
houyi = Player("射手", "后羿") houyi = Player("射手", "后羿")
...@@ -247,5 +416,11 @@ while True: ...@@ -247,5 +416,11 @@ while True:
yase.xiaocombat(houyi) yase.xiaocombat(houyi)
elif mun==4: elif mun==4:
yase.zhongcombat(houyi) yase.zhongcombat(houyi)
if sdfy==1:
continue
elif sdfy==2:
pass
else:
continue
else: else:
yase.dacombat(houyi) yase.dacombat(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