diff --git a/diy4.py b/diy4.py
index 608ae3b..bb6a900 100644
--- a/diy4.py
+++ b/diy4.py
@@ -1,8 +1,10 @@
 import random
 class Hero(object):
-    def __init__(self,hero_type,name,tili,max_tili):
+    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
@@ -20,22 +22,97 @@ class Hero(object):
         if self.hp>self.max_hp:
             self.hp=self.max_hp
         print(self.name+"使用了治疗,血量增加:60,目前的血量为:"+str(self.hp)+",体力减少3,目前的体力为:"+str(self.tili))
-        tili=tili+2
-        if tili>max_tili:
-            tili=max_tili
-        print("出招后,体力回复2点,目前的体力为:",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>5:
+        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+20)+"点伤害,"
+                info1 = self.name+"对"+enemy.name+"发起魂被动攻击,"
+                info2 = "造成"+str(self.attack+16)+"点伤害,"
                 info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量"
-                info4="消耗被动值6点,目前的被动值为:",self.bd
+                info4="消耗被动值6点,目前的被动值为:0"
                 info = info1+info2+info3
                 print(info)
             else:
@@ -44,10 +121,10 @@ class Hero(object):
                 print(info)
                 exit()
         elif self.bd==5:
-            enemy.hp -=16
+            enemy.hp -=11
             self.bd=self.bd-5
             if enemy.hp > 0:
-                info1 = self.name+"对"+enemy.name+"发起终极被动攻击,"
+                info1 = self.name+"对"+enemy.name+"发起灵被动攻击,"
                 info2 = "造成"+str(self.attack+16)+"点伤害,"
                 info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量"
                 info4="消耗被动值5点,目前的被动值为:0"
@@ -59,10 +136,10 @@ class Hero(object):
                 print(info)
                 exit()
         elif self.bd==4:
-            enemy.hp -=12
+            enemy.hp -=9
             self.bd=self.bd-4
             if enemy.hp > 0:
-                info1 = self.name+"对"+enemy.name+"发起超级被动攻击,"
+                info1 = self.name+"对"+enemy.name+"发起超被动攻击,"
                 info2 = "造成"+str(self.attack+12)+"点伤害,"
                 info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量"
                 info4="消耗被动值4点,目前的被动值为:0"
@@ -74,7 +151,7 @@ class Hero(object):
                 print(info)
                 exit()
         elif self.bd==3:
-            enemy.hp -=8
+            enemy.hp -=7
             self.bd=self.bd-3
             if enemy.hp > 0:
                 info1 = self.name+"对"+enemy.name+"发起强被动攻击,"
@@ -89,7 +166,7 @@ class Hero(object):
                 print(info)
                 exit()
         elif self.bd==2:
-            enemy.hp -=4
+            enemy.hp -=5
             self.bd=self.bd-2
             if enemy.hp > 0:
                 info1 = self.name+"对"+enemy.name+"发起被动攻击,"
@@ -117,10 +194,10 @@ class Hero(object):
                 info = info1+info2+info3
                 print(info)
                 exit()
-        tili=tili+2
-        if tili>max_tili:
-            tili=max_tili
-        print("出招后,体力回复2点,目前的体力为:",tili)
+        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):  #大招:暴击
@@ -137,35 +214,78 @@ class Hero(object):
             info = info1+info2+info3
             print(info)
             exit()
-        tili=tili+2
-        if tili>max_tili:
-            tili=max_tili
-        print("出招后,体力回复2点,目前的体力为:",tili)
+        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):   #中招:圣盾防御
+    def zhongcombat(self, enemy,tili,max_tili,sdft,sdfy):   #中招:圣盾防御
         self.tili=self.tili-7
-        sdfy=random.randint(1,3)
-        if sdfy==3:
-            info1 = self.name+"开启一级圣盾防御,体力减少7,目前的体力为:",self.tili
+        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)
-        elif sdfy==2:
-            enemy.hp -= ftsy
-            info1 = self.name+"开启二级圣盾防御,"
-            info2="圣盾反弹伤害造成"+str(ftsy)+"点伤害,体力减少7,目前的体力为:",self.tili
+            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 = info1+info2+info3
+            info = info2+info3
+            print(info1)
+            print(info4)
             print(info)
-        else:
-            enemy.hp -= ftsy
-            info1 = self.name+"开启三级圣盾防御,"
-            info2="圣盾反弹伤害造成"+str(ftsy)+"点伤害,体力减少7,目前的体力为:",self.tili
+        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)
-        tili=tili+2
-        if tili>max_tili:
-            tili=max_tili
-        print("出招后,体力回复2点,目前的体力为:",tili)
+        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):  #小招:强化
@@ -176,17 +296,18 @@ class Hero(object):
             self.hp=self.max_hp
         info1 = self.name+"开启强化,血量增加:25,目前的血量为:"+str(self.hp)+",被动值增加3点,目前的被动值为:"+str(self.bd)+",体力减少4,目前的体力为:"+str(self.tili)
         print(info1)
-        tili=tili+2
-        if tili>max_tili:
-            tili=max_tili
-        print("出招后,体力回复2点,目前的体力为:",tili)
+        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):
+    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
@@ -214,14 +335,89 @@ class Player(object):
 
     def combat(self, enemy,tili,max_tili):    # 普通攻击
         enemy.hp -= self.attack
-        if self.bd>5:
+        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+20)+"点伤害,"
+                info1 = self.name+"对"+enemy.name+"发起魂被动攻击,"
+                info2 = "造成"+str(self.attack+16)+"点伤害,"
                 info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量"
-                info4="消耗被动值6点,目前的被动值为:",self.bd
+                info4="消耗被动值6点,目前的被动值为:0"
                 info = info1+info2+info3
                 print(info)
             else:
@@ -230,10 +426,10 @@ class Player(object):
                 print(info)
                 exit()
         elif self.bd==5:
-            enemy.hp -=16
+            enemy.hp -=11
             self.bd=self.bd-5
             if enemy.hp > 0:
-                info1 = self.name+"对"+enemy.name+"发起终极被动攻击,"
+                info1 = self.name+"对"+enemy.name+"发起灵被动攻击,"
                 info2 = "造成"+str(self.attack+16)+"点伤害,"
                 info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量"
                 info4="消耗被动值5点,目前的被动值为:0"
@@ -245,10 +441,10 @@ class Player(object):
                 print(info)
                 exit()
         elif self.bd==4:
-            enemy.hp -=12
+            enemy.hp -=9
             self.bd=self.bd-4
             if enemy.hp > 0:
-                info1 = self.name+"对"+enemy.name+"发起超级被动攻击,"
+                info1 = self.name+"对"+enemy.name+"发起超被动攻击,"
                 info2 = "造成"+str(self.attack+12)+"点伤害,"
                 info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量"
                 info4="消耗被动值4点,目前的被动值为:0"
@@ -260,7 +456,7 @@ class Player(object):
                 print(info)
                 exit()
         elif self.bd==3:
-            enemy.hp -=8
+            enemy.hp -=7
             self.bd=self.bd-3
             if enemy.hp > 0:
                 info1 = self.name+"对"+enemy.name+"发起强被动攻击,"
@@ -275,7 +471,7 @@ class Player(object):
                 print(info)
                 exit()
         elif self.bd==2:
-            enemy.hp -=4
+            enemy.hp -=5
             self.bd=self.bd-2
             if enemy.hp > 0:
                 info1 = self.name+"对"+enemy.name+"发起被动攻击,"
@@ -303,10 +499,10 @@ class Player(object):
                 info = info1+info2+info3
                 print(info)
                 exit()
-        tili=tili+2
-        if tili>max_tili:
-            tili=max_tili
-        print("出招后,体力回复2点,目前的体力为:",tili)
+        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
@@ -351,15 +547,14 @@ class Player(object):
         print("出招后,体力回复2点,目前的体力为:",self.tili)
 
 
-    def xiaocombat(self, enemy,tili,max_tili):  #小招:连射
-        ls=random.randint(0,9)
-        lss=ls*3
+    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(ls)+"箭,造成"+str(self.attack+lss)+"点伤害,"
-        if ls==0:  
+        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)+"血量"
@@ -371,7 +566,7 @@ class Player(object):
                 info = info1+info2+info3
                 print(info)
                 exit()
-        if ls==1:  
+        elif self.ls==1:  
             enemy.hp=enemy.hp-(self.attack+lss)
             if enemy.hp > 0:
                 info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量"
@@ -382,7 +577,7 @@ class Player(object):
                 info = info1+info2+info3
                 print(info)
                 exit()
-        elif ls==2:  
+        elif self.ls==2:  
             enemy.hp=enemy.hp-(self.attack+lss)
             if enemy.hp > 0:
                 info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量"
@@ -393,7 +588,7 @@ class Player(object):
                 info = info1+info2+info3
                 print(info)
                 exit()
-        elif ls==3:  
+        elif self.ls==3:  
             enemy.hp=enemy.hp-(self.attack+lss)
             if enemy.hp > 0:
                 info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量"
@@ -404,7 +599,7 @@ class Player(object):
                 info = info1+info2+info3
                 print(info)
                 exit()
-        elif ls==4:  
+        elif self.ls==4:  
             enemy.hp=enemy.hp-(self.attack+lss)
             if enemy.hp > 0:
                 info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量"
@@ -415,7 +610,7 @@ class Player(object):
                 info = info1+info2+info3
                 print(info)
                 exit()
-        elif ls==5:  
+        elif self.ls==5:  
             enemy.hp=enemy.hp-(self.attack+lss)
             if enemy.hp > 0:
                 info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量"
@@ -426,7 +621,7 @@ class Player(object):
                 info = info1+info2+info3
                 print(info)
                 exit()
-        elif ls==6:  
+        elif self.ls==6:  
             enemy.hp=enemy.hp-(self.attack+lss)
             if enemy.hp > 0:
                 info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量"
@@ -437,7 +632,7 @@ class Player(object):
                 info = info1+info2+info3
                 print(info)
                 exit()
-        elif ls==7:  
+        elif self.ls==7:  
             enemy.hp=enemy.hp-(self.attack+lss)
             if enemy.hp > 0:
                 info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量"
@@ -448,7 +643,7 @@ class Player(object):
                 info = info1+info2+info3
                 print(info)
                 exit()
-        elif ls==8:  
+        elif self.ls==8:  
             enemy.hp=enemy.hp-(self.attack+lss)
             if enemy.hp > 0:
                 info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量"
@@ -459,10 +654,23 @@ class Player(object):
                 info = info1+info2+info3
                 print(info)
                 exit()
-        else:
+        elif self.ls==9:
             enemy.hp=enemy.hp-(self.attack+lss-2)
-            self.bd=self.bd+1
-            info2 = "连射"+str(ls)+"箭,造成"+str(self.attack+lss-2)+"点伤害,被动值增加1点,目前的被动值为:"+str(self.bd)+","
+            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
@@ -482,8 +690,13 @@ h_tili=5
 p_tili=5
 h_max_tili=10
 p_max_tili=10
-yase = Hero("坦克","垭瑟",h_tili,h_max_tili)
-houyi = Player("射手","后羿",p_tili,p_max_tili)
+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:
@@ -503,33 +716,44 @@ while True:
         break
     elif choice=="a" and p_tili>2:
         houyi.cure(p_tili,p_max_tili)
-        p_tili-=3
-        p_tili+=2
-        if p_tili>p_max_tili:
-            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:
-        houyi.xiaocombat(yase,p_tili,p_max_tili)
-        p_tili-=4
-        p_tili+=2
-        if p_tili>p_max_tili:
-            p_tili=p_max_tili
+        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-=7
-        p_tili+=2
-        if p_tili>p_max_tili:
-            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-=10
-        p_tili+=2
-        if p_tili>p_max_tili:
-            p_tili=p_max_tili
+        p_tili-=8
+        sdft=100
     else:
         print("指令无效")
         continue
@@ -550,31 +774,16 @@ while True:
             h_tili=h_max_tili
     elif mun==2:
         yase.cure(h_tili,h_max_tili)
-        h_tili-=3
-        h_tili+=2
-        if h_tili>h_max_tili:
-            h_tili=h_max_tili
+        h_tili-=1
     elif mun==3:
         yase.xiaocombat(houyi,h_tili,h_max_tili)
-        h_tili-=4
-        h_tili+=2
-        if h_tili>h_max_tili:
-            h_tili=h_max_tili
+        h_tili-=2
     elif mun==4:
-        yase.zhongcombat(houyi,h_tili,h_max_tili)
-        h_tili-=7
-        h_tili+=2
-        if h_tili>h_max_tili:
-            h_tili=h_max_tili
-        if sdfy==1:
+        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 
-        elif sdfy==2:
-            pass
-        else:
-            continue 
     else:
         yase.dacombat(houyi,h_tili,h_max_tili)
-        h_tili-=10
-        h_tili+=2
-        if h_tili>h_max_tili:
-            h_tili=h_max_tili
\ No newline at end of file
+        h_tili-=8
\ No newline at end of file