TypeError:Can't instantiate abstract class Ultraman with abstract methods sttack 报错

报错Can't instantiate abstract class Ultraman with abstract methods sttack

通过非常仔细的排查,发现错误如下:

1、单词拼写错误是诱发这个报错的直接原因

  1 from abc import ABCMeta,abstractmethod
  2 from random import randint,randrange
  3 
  4 class Fighter(object,metaclass=ABCMeta):
  5     """战斗者"""
  6 
  7     #通过__slots__魔法限定对象可以绑定的成员变量
  8     __slots__ = ('_name','_hp')
  9 
 10     def __init__(self,name,hp):
 11         """
 12         初始化方法
 13         :param name: 名字
 14         :param hp: 战斗值
 15         """
 16         self._name = name
 17         self._hp = hp
 18 
 19     @property
 20     def name(self):
 21         return self._name
 22 
 23     @property
 24     def hp(self):
 25         return self._hp
 26 
 27     @hp.setter
 28     def hp(self,hp):
 29         self._hp = hp if hp >= 0 else 0
 30 
 31     @property
 32     def alive(self):
 33         return self._hp > 0
 34 
 35     @abstractmethod
 36     def sttack(self,other):
 37         """
 38         攻击
 39         :param other: 被攻击的对象
 40         :return:
 41         """
 42         pass
 43 
 44 class Ultraman(Fighter):
 45     """奥特曼"""
 46     __slots__ = ('_name',"_hp","_mp")
 47 
 48     def __init__(self,name,hp,mp):
 49         """
 50         初始化名字
 51         :param name: 名字
 52         :param hp: 生命值
 53         :param mp: 魔术值
 54         """
 55         super().__init__(name,hp)
 56         self._mp = mp
 57 
 58     def attack(self,other):
 59         other.hp -= randint(15,25)
 60 
 61     def huge_attack(self,other):
 62         """
 63         穷极必杀技(打掉对方至少50点或3/4的血)
 64         :param other: 被攻击对象
 65         :return: 使用成功返回True否则返回False
 66         """
 67 
 68         if self._mp >= 50:
 69             self._mp -= 50
 70             injury = other.hp * 3//4
 71             injury = injury if injury >= 50 else 50
 72             other.hp -= injury
 73             return True
 74         else:
 75             self.attack(other)
 76             return False
 77 
 78     def magic_attack(self,others):
 79         """
 80         魔法攻击
 81         :param others: 被攻击的群体
 82         :return: 使用魔法成功返回TRUE否则返回False
 83 
 84         """
 85         if self._mp >= 20:
 86             self._mp -= 20
 87             for temp in others:
 88                     if temp.alive:
 89                         temp.hp -= randint(10,15)
 90             return True
 91         else:
 92             return False
 93 
 94     def resume(self):
 95         """恢复魔法值"""
 96         incr_point = randint(1,10)
 97         self._mp += incr_point
 98         return incr_point
 99 
100     def __str__(self):
101         return '~~~%s奥特曼~~~
'%self._name + 
102             '生命值:%d
'%self._hp + 
103             '魔法值:%d
'%self._mp
104 
105 class Monster(Fighter):
106     """小怪兽"""
107 
108     __slots__ = ('_name','_hp')
109 
110     def attack(self,other):
111         other.hp -= randint(10,20)
112 
113     def __str__(self):
114         return '~~~%s小怪兽~~~
' % self._name + 
115             '生命值:%d
'%self._hp
116 
117 def is_any_alive(monsters):
118     """判断有没有活着的小怪兽"""
119     for monster in monsters:
120         if monster.alive > 0:
121             return True
122     return False
123 
124 def select_alive_one(monsters):
125     """选中一只活着的小怪兽"""
126     monsters_len = len(monsters)
127     while True:
128         index = randrange(monsters_len)
129         monster = monsters[index]
130         if monster.alive > 0:
131             return monster
132 
133 def display_info(ultraman,monsters):
134     """显示奥特曼和小怪兽的信息"""
135     print(ultraman)
136     for monster in monsters:
137         print(monster,end = '')
138 
139 def main():
140     u = Ultraman('骆昊',1000,120)
141     m1 = Monster('狄仁杰',250)
142     m2 = Monster('白元芳',500)
143     m3 = Monster('张大头',750)
144     ms = [m1,m2,m3]
145     fight_round = 1
146     while u.alive and is_any_alive(ms):
147         print('=======第%02d回合======='%fight_round)
148         m = select_alive_one(ms) #选中一个小怪兽
149         skill = randint(1,10) #通过随机数选择使用哪种技能
150         if skill <= 6:#60%的概率使用普通攻击
151             print('%s使用普通攻击打了%s'%(u.name,m.nama))
152             u.attack(m)
153             print('%s的魔法值恢复了%d点'%(u.name,u.resume()))
154         elif skill <= 9:
155             if u.magic_attack(ms):
156                 print('%s使用了魔法攻击.'%u.name)
157             else:
158                 print('%s使用魔法失败.'%u.name)
159     else:
160         if u.huge_attack(m):
161             print('%s使用究极必杀技虐了%s'%(u.name,m.name))
162         else:
163             print('%s使用普通攻击必杀虐了%s'%(u.name,m.name))
164             print('%s的魔法值恢复了%d点.'%(u.name,u.resume()))
165 
166         if m.alive >0: #如果选中的小该收没有死就回寄奥特曼
167             print('%s回击了%s'%(m.name,u.name))
168             m.attack(u)
169         display_info(u,ms)  #每个回合结束收显示奥特曼和小怪兽的信息
170         fight_round += 1
171         print('
========战斗结束!========
')
172         if u.alive >0:
173             print('%s奥特曼胜利!'%u.name)
174 
175         else:
176             print('小怪兽胜利!')
177 if __name__ == '__main__':
178     main()
View Code

 2、还有一些缩进错误,导致运行时不符合预期效果。

修改后的代码如下:

  1 from abc import ABCMeta,abstractmethod
  2 from random import randint,randrange
  3 
  4 class Fighter(object,metaclass=ABCMeta):
  5     """战斗者"""
  6 
  7     #通过__slots__魔法限定对象可以绑定的成员变量
  8     __slots__ = ('_name','_hp')
  9 
 10     def __init__(self,name,hp):
 11         """
 12         初始化方法
 13         :param name: 名字
 14         :param hp: 战斗值
 15         """
 16         self._name = name
 17         self._hp = hp
 18 
 19     @property
 20     def name(self):
 21         return self._name
 22 
 23     @property
 24     def hp(self):
 25         return self._hp
 26 
 27     @hp.setter
 28     def hp(self,hp):
 29         self._hp = hp if hp >= 0 else 0
 30 
 31     @property
 32     def alive(self):
 33         return self._hp > 0
 34 
 35     @abstractmethod
 36     # def sttack(self,other):
 37     def attack(self, other):
 38         """
 39         攻击
 40         :param other: 被攻击的对象
 41         :return:
 42         """
 43         pass
 44 
 45 class Ultraman(Fighter):
 46     """奥特曼"""
 47     __slots__ = ('_name',"_hp","_mp")
 48 
 49     def __init__(self,name,hp,mp):
 50         """
 51         初始化名字
 52         :param name: 名字
 53         :param hp: 生命值
 54         :param mp: 魔术值
 55         """
 56         super().__init__(name,hp)
 57         self._mp = mp
 58 
 59     def attack(self,other):
 60         other.hp -= randint(15,25)
 61 
 62     def huge_attack(self,other):
 63         """
 64         穷极必杀技(打掉对方至少50点或3/4的血)
 65         :param other: 被攻击对象
 66         :return: 使用成功返回True否则返回False
 67         """
 68 
 69         if self._mp >= 50:
 70             self._mp -= 50
 71             injury = other.hp * 3//4
 72             injury = injury if injury >= 50 else 50
 73             other.hp -= injury
 74             return True
 75         else:
 76             self.attack(other)
 77             return False
 78 
 79     def magic_attack(self,others):
 80         """
 81         魔法攻击
 82         :param others: 被攻击的群体
 83         :return: 使用魔法成功返回TRUE否则返回False
 84 
 85         """
 86         if self._mp >= 20:
 87             self._mp -= 20
 88             for temp in others:
 89                 #之前是这样写的
 90                     # if temp.alive:
 91                     #     temp.hp -= randint(10,15)
 92                 if temp.alive:
 93                     temp.hp -= randint(10,15)
 94             return True
 95         else:
 96             return False
 97 
 98     def resume(self):
 99         """恢复魔法值"""
100         incr_point = randint(1,10)
101         self._mp += incr_point
102         return incr_point
103 
104     def __str__(self):
105         return '~~~%s奥特曼~~~
'%self._name + 
106             '生命值:%d
' % self._hp + 
107             '魔法值:%d
' % self._mp
108 
109 class Monster(Fighter):
110     """小怪兽"""
111 
112     __slots__ = ('_name','_hp')
113 
114     def attack(self,other):
115         other.hp -= randint(10,20)
116 
117     def __str__(self):
118         return '~~~%s小怪兽~~~
' % self._name + 
119             '生命值:%d
'%self._hp
120 
121 def is_any_alive(monsters):
122     """判断有没有活着的小怪兽"""
123     for monster in monsters:
124         if monster.alive > 0:
125             return True
126     return False
127 
128 def select_alive_one(monsters):
129     """选中一只活着的小怪兽"""
130     monsters_len = len(monsters)
131     while True:
132         index = randrange(monsters_len)
133         monster = monsters[index]
134         if monster.alive > 0:
135             return monster
136 
137 def display_info(ultraman,monsters):
138     """显示奥特曼和小怪兽的信息"""
139     print(ultraman)
140     for monster in monsters:
141         print(monster,end = '')
142 
143 def main():
144     u = Ultraman('骆昊',1000,120)
145     m1 = Monster('狄仁杰',250)
146     m2 = Monster('白元芳',500)
147     m3 = Monster('张大头',750)
148     ms = [m1,m2,m3]
149     fight_round = 1
150     while u.alive and is_any_alive(ms):
151         print('=======第%02d回合======='%fight_round)
152         m = select_alive_one(ms) #选中一个小怪兽
153         skill = randint(1,10) #通过随机数选择使用哪种技能
154         if skill <= 6:#60%的概率使用普通攻击
155             print('%s使用普通攻击打了%s'%(u.name,m.name))
156             u.attack(m)
157             print('%s的魔法值恢复了%d点'%(u.name,u.resume()))
158         elif skill <= 9:
159             if u.magic_attack(ms):
160                 print('%s使用了魔法攻击.' % u.name)
161             else:
162                 print('%s使用魔法失败.'% u.name)
163         else:
164             if u.huge_attack(m):
165                 print('%s使用究极必杀技虐了%s' % (u.name,m.name))
166             else:
167                 print('%s使用普通攻击必杀虐了%s' % (u.name,m.name))
168                 print('%s的魔法值恢复了%d点.'%(u.name,u.resume()))
169 
170         if m.alive >0: #如果选中的小该收没有死就回寄奥特曼
171             print('%s回击了%s'%(m.name,u.name))
172             m.attack(u)
173         display_info(u,ms)  #每个回合结束收显示奥特曼和小怪兽的信息
174         fight_round += 1
175     print('
========战斗结束!========
')
176     if u.alive >0:
177         print('%s奥特曼胜利!'%u.name)
178 
179     else:
180         print('小怪兽胜利!')
181 if __name__ == '__main__':
182     main()
View Code

运行结果:

  1 =======第01回合=======
  2 骆昊使用普通攻击打了狄仁杰
  3 骆昊的魔法值恢复了10点
  4 狄仁杰回击了骆昊
  5 ~~~骆昊奥特曼~~~
  6 生命值:986
  7 魔法值:130
  8 
  9 ~~~狄仁杰小怪兽~~~
 10 生命值:231
 11 ~~~白元芳小怪兽~~~
 12 生命值:500
 13 ~~~张大头小怪兽~~~
 14 生命值:750
 15 =======第02回合=======
 16 骆昊使用了魔法攻击.
 17 张大头回击了骆昊
 18 ~~~骆昊奥特曼~~~
 19 生命值:968
 20 魔法值:110
 21 
 22 ~~~狄仁杰小怪兽~~~
 23 生命值:220
 24 ~~~白元芳小怪兽~~~
 25 生命值:486
 26 ~~~张大头小怪兽~~~
 27 生命值:740
 28 =======第03回合=======
 29 骆昊使用了魔法攻击.
 30 张大头回击了骆昊
 31 ~~~骆昊奥特曼~~~
 32 生命值:949
 33 魔法值:90
 34 
 35 ~~~狄仁杰小怪兽~~~
 36 生命值:205
 37 ~~~白元芳小怪兽~~~
 38 生命值:473
 39 ~~~张大头小怪兽~~~
 40 生命值:729
 41 =======第04回合=======
 42 骆昊使用普通攻击打了白元芳
 43 骆昊的魔法值恢复了7点
 44 白元芳回击了骆昊
 45 ~~~骆昊奥特曼~~~
 46 生命值:934
 47 魔法值:97
 48 
 49 ~~~狄仁杰小怪兽~~~
 50 生命值:205
 51 ~~~白元芳小怪兽~~~
 52 生命值:448
 53 ~~~张大头小怪兽~~~
 54 生命值:729
 55 =======第05回合=======
 56 骆昊使用普通攻击打了白元芳
 57 骆昊的魔法值恢复了6点
 58 白元芳回击了骆昊
 59 ~~~骆昊奥特曼~~~
 60 生命值:924
 61 魔法值:103
 62 
 63 ~~~狄仁杰小怪兽~~~
 64 生命值:205
 65 ~~~白元芳小怪兽~~~
 66 生命值:426
 67 ~~~张大头小怪兽~~~
 68 生命值:729
 69 =======第06回合=======
 70 骆昊使用普通攻击打了白元芳
 71 骆昊的魔法值恢复了4点
 72 白元芳回击了骆昊
 73 ~~~骆昊奥特曼~~~
 74 生命值:906
 75 魔法值:107
 76 
 77 ~~~狄仁杰小怪兽~~~
 78 生命值:205
 79 ~~~白元芳小怪兽~~~
 80 生命值:410
 81 ~~~张大头小怪兽~~~
 82 生命值:729
 83 =======第07回合=======
 84 骆昊使用普通攻击打了白元芳
 85 骆昊的魔法值恢复了10点
 86 白元芳回击了骆昊
 87 ~~~骆昊奥特曼~~~
 88 生命值:895
 89 魔法值:117
 90 
 91 ~~~狄仁杰小怪兽~~~
 92 生命值:205
 93 ~~~白元芳小怪兽~~~
 94 生命值:390
 95 ~~~张大头小怪兽~~~
 96 生命值:729
 97 =======第08回合=======
 98 骆昊使用普通攻击打了狄仁杰
 99 骆昊的魔法值恢复了3点
100 狄仁杰回击了骆昊
101 ~~~骆昊奥特曼~~~
102 生命值:881
103 魔法值:120
104 
105 ~~~狄仁杰小怪兽~~~
106 生命值:186
107 ~~~白元芳小怪兽~~~
108 生命值:390
109 ~~~张大头小怪兽~~~
110 生命值:729
111 =======第09回合=======
112 骆昊使用究极必杀技虐了狄仁杰
113 狄仁杰回击了骆昊
114 ~~~骆昊奥特曼~~~
115 生命值:868
116 魔法值:70
117 
118 ~~~狄仁杰小怪兽~~~
119 生命值:47
120 ~~~白元芳小怪兽~~~
121 生命值:390
122 ~~~张大头小怪兽~~~
123 生命值:729
124 =======第10回合=======
125 骆昊使用普通攻击打了狄仁杰
126 骆昊的魔法值恢复了4点
127 狄仁杰回击了骆昊
128 ~~~骆昊奥特曼~~~
129 生命值:851
130 魔法值:74
131 
132 ~~~狄仁杰小怪兽~~~
133 生命值:32
134 ~~~白元芳小怪兽~~~
135 生命值:390
136 ~~~张大头小怪兽~~~
137 生命值:729
138 =======第11回合=======
139 骆昊使用了魔法攻击.
140 张大头回击了骆昊
141 ~~~骆昊奥特曼~~~
142 生命值:838
143 魔法值:54
144 
145 ~~~狄仁杰小怪兽~~~
146 生命值:20
147 ~~~白元芳小怪兽~~~
148 生命值:375
149 ~~~张大头小怪兽~~~
150 生命值:716
151 =======第12回合=======
152 骆昊使用普通攻击打了张大头
153 骆昊的魔法值恢复了6点
154 张大头回击了骆昊
155 ~~~骆昊奥特曼~~~
156 生命值:824
157 魔法值:60
158 
159 ~~~狄仁杰小怪兽~~~
160 生命值:20
161 ~~~白元芳小怪兽~~~
162 生命值:375
163 ~~~张大头小怪兽~~~
164 生命值:701
165 =======第13回合=======
166 骆昊使用普通攻击打了狄仁杰
167 骆昊的魔法值恢复了4点
168 ~~~骆昊奥特曼~~~
169 生命值:824
170 魔法值:64
171 
172 ~~~狄仁杰小怪兽~~~
173 生命值:0
174 ~~~白元芳小怪兽~~~
175 生命值:375
176 ~~~张大头小怪兽~~~
177 生命值:701
178 =======第14回合=======
179 骆昊使用究极必杀技虐了白元芳
180 白元芳回击了骆昊
181 ~~~骆昊奥特曼~~~
182 生命值:805
183 魔法值:14
184 
185 ~~~狄仁杰小怪兽~~~
186 生命值:0
187 ~~~白元芳小怪兽~~~
188 生命值:94
189 ~~~张大头小怪兽~~~
190 生命值:701
191 =======第15回合=======
192 骆昊使用普通攻击打了张大头
193 骆昊的魔法值恢复了7点
194 张大头回击了骆昊
195 ~~~骆昊奥特曼~~~
196 生命值:787
197 魔法值:21
198 
199 ~~~狄仁杰小怪兽~~~
200 生命值:0
201 ~~~白元芳小怪兽~~~
202 生命值:94
203 ~~~张大头小怪兽~~~
204 生命值:678
205 =======第16回合=======
206 骆昊使用普通攻击必杀虐了白元芳
207 骆昊的魔法值恢复了4点.
208 白元芳回击了骆昊
209 ~~~骆昊奥特曼~~~
210 生命值:777
211 魔法值:25
212 
213 ~~~狄仁杰小怪兽~~~
214 生命值:0
215 ~~~白元芳小怪兽~~~
216 生命值:78
217 ~~~张大头小怪兽~~~
218 生命值:678
219 =======第17回合=======
220 骆昊使用普通攻击必杀虐了白元芳
221 骆昊的魔法值恢复了5点.
222 白元芳回击了骆昊
223 ~~~骆昊奥特曼~~~
224 生命值:766
225 魔法值:30
226 
227 ~~~狄仁杰小怪兽~~~
228 生命值:0
229 ~~~白元芳小怪兽~~~
230 生命值:63
231 ~~~张大头小怪兽~~~
232 生命值:678
233 =======第18回合=======
234 骆昊使用普通攻击打了张大头
235 骆昊的魔法值恢复了5点
236 张大头回击了骆昊
237 ~~~骆昊奥特曼~~~
238 生命值:748
239 魔法值:35
240 
241 ~~~狄仁杰小怪兽~~~
242 生命值:0
243 ~~~白元芳小怪兽~~~
244 生命值:63
245 ~~~张大头小怪兽~~~
246 生命值:656
247 =======第19回合=======
248 骆昊使用普通攻击打了张大头
249 骆昊的魔法值恢复了2点
250 张大头回击了骆昊
251 ~~~骆昊奥特曼~~~
252 生命值:732
253 魔法值:37
254 
255 ~~~狄仁杰小怪兽~~~
256 生命值:0
257 ~~~白元芳小怪兽~~~
258 生命值:63
259 ~~~张大头小怪兽~~~
260 生命值:631
261 =======第20回合=======
262 骆昊使用了魔法攻击.
263 白元芳回击了骆昊
264 ~~~骆昊奥特曼~~~
265 生命值:718
266 魔法值:17
267 
268 ~~~狄仁杰小怪兽~~~
269 生命值:0
270 ~~~白元芳小怪兽~~~
271 生命值:53
272 ~~~张大头小怪兽~~~
273 生命值:617
274 =======第21回合=======
275 骆昊使用普通攻击打了白元芳
276 骆昊的魔法值恢复了3点
277 白元芳回击了骆昊
278 ~~~骆昊奥特曼~~~
279 生命值:702
280 魔法值:20
281 
282 ~~~狄仁杰小怪兽~~~
283 生命值:0
284 ~~~白元芳小怪兽~~~
285 生命值:35
286 ~~~张大头小怪兽~~~
287 生命值:617
288 =======第22回合=======
289 骆昊使用普通攻击打了张大头
290 骆昊的魔法值恢复了8点
291 张大头回击了骆昊
292 ~~~骆昊奥特曼~~~
293 生命值:683
294 魔法值:28
295 
296 ~~~狄仁杰小怪兽~~~
297 生命值:0
298 ~~~白元芳小怪兽~~~
299 生命值:35
300 ~~~张大头小怪兽~~~
301 生命值:602
302 =======第23回合=======
303 骆昊使用普通攻击打了张大头
304 骆昊的魔法值恢复了6点
305 张大头回击了骆昊
306 ~~~骆昊奥特曼~~~
307 生命值:671
308 魔法值:34
309 
310 ~~~狄仁杰小怪兽~~~
311 生命值:0
312 ~~~白元芳小怪兽~~~
313 生命值:35
314 ~~~张大头小怪兽~~~
315 生命值:584
316 =======第24回合=======
317 骆昊使用了魔法攻击.
318 张大头回击了骆昊
319 ~~~骆昊奥特曼~~~
320 生命值:652
321 魔法值:14
322 
323 ~~~狄仁杰小怪兽~~~
324 生命值:0
325 ~~~白元芳小怪兽~~~
326 生命值:20
327 ~~~张大头小怪兽~~~
328 生命值:570
329 =======第25回合=======
330 骆昊使用魔法失败.
331 张大头回击了骆昊
332 ~~~骆昊奥特曼~~~
333 生命值:635
334 魔法值:14
335 
336 ~~~狄仁杰小怪兽~~~
337 生命值:0
338 ~~~白元芳小怪兽~~~
339 生命值:20
340 ~~~张大头小怪兽~~~
341 生命值:570
342 =======第26回合=======
343 骆昊使用普通攻击必杀虐了张大头
344 骆昊的魔法值恢复了1点.
345 张大头回击了骆昊
346 ~~~骆昊奥特曼~~~
347 生命值:615
348 魔法值:15
349 
350 ~~~狄仁杰小怪兽~~~
351 生命值:0
352 ~~~白元芳小怪兽~~~
353 生命值:20
354 ~~~张大头小怪兽~~~
355 生命值:555
356 =======第27回合=======
357 骆昊使用普通攻击打了张大头
358 骆昊的魔法值恢复了10点
359 张大头回击了骆昊
360 ~~~骆昊奥特曼~~~
361 生命值:600
362 魔法值:25
363 
364 ~~~狄仁杰小怪兽~~~
365 生命值:0
366 ~~~白元芳小怪兽~~~
367 生命值:20
368 ~~~张大头小怪兽~~~
369 生命值:540
370 =======第28回合=======
371 骆昊使用普通攻击打了张大头
372 骆昊的魔法值恢复了3点
373 张大头回击了骆昊
374 ~~~骆昊奥特曼~~~
375 生命值:589
376 魔法值:28
377 
378 ~~~狄仁杰小怪兽~~~
379 生命值:0
380 ~~~白元芳小怪兽~~~
381 生命值:20
382 ~~~张大头小怪兽~~~
383 生命值:521
384 =======第29回合=======
385 骆昊使用普通攻击打了白元芳
386 骆昊的魔法值恢复了3点
387 白元芳回击了骆昊
388 ~~~骆昊奥特曼~~~
389 生命值:575
390 魔法值:31
391 
392 ~~~狄仁杰小怪兽~~~
393 生命值:0
394 ~~~白元芳小怪兽~~~
395 生命值:2
396 ~~~张大头小怪兽~~~
397 生命值:521
398 =======第30回合=======
399 骆昊使用普通攻击打了张大头
400 骆昊的魔法值恢复了10点
401 张大头回击了骆昊
402 ~~~骆昊奥特曼~~~
403 生命值:559
404 魔法值:41
405 
406 ~~~狄仁杰小怪兽~~~
407 生命值:0
408 ~~~白元芳小怪兽~~~
409 生命值:2
410 ~~~张大头小怪兽~~~
411 生命值:506
412 =======第31回合=======
413 骆昊使用普通攻击打了白元芳
414 骆昊的魔法值恢复了6点
415 ~~~骆昊奥特曼~~~
416 生命值:559
417 魔法值:47
418 
419 ~~~狄仁杰小怪兽~~~
420 生命值:0
421 ~~~白元芳小怪兽~~~
422 生命值:0
423 ~~~张大头小怪兽~~~
424 生命值:506
425 =======第32回合=======
426 骆昊使用了魔法攻击.
427 张大头回击了骆昊
428 ~~~骆昊奥特曼~~~
429 生命值:546
430 魔法值:27
431 
432 ~~~狄仁杰小怪兽~~~
433 生命值:0
434 ~~~白元芳小怪兽~~~
435 生命值:0
436 ~~~张大头小怪兽~~~
437 生命值:494
438 =======第33回合=======
439 骆昊使用了魔法攻击.
440 张大头回击了骆昊
441 ~~~骆昊奥特曼~~~
442 生命值:529
443 魔法值:7
444 
445 ~~~狄仁杰小怪兽~~~
446 生命值:0
447 ~~~白元芳小怪兽~~~
448 生命值:0
449 ~~~张大头小怪兽~~~
450 生命值:482
451 =======第34回合=======
452 骆昊使用普通攻击打了张大头
453 骆昊的魔法值恢复了1点
454 张大头回击了骆昊
455 ~~~骆昊奥特曼~~~
456 生命值:511
457 魔法值:8
458 
459 ~~~狄仁杰小怪兽~~~
460 生命值:0
461 ~~~白元芳小怪兽~~~
462 生命值:0
463 ~~~张大头小怪兽~~~
464 生命值:463
465 =======第35回合=======
466 骆昊使用普通攻击打了张大头
467 骆昊的魔法值恢复了2点
468 张大头回击了骆昊
469 ~~~骆昊奥特曼~~~
470 生命值:495
471 魔法值:10
472 
473 ~~~狄仁杰小怪兽~~~
474 生命值:0
475 ~~~白元芳小怪兽~~~
476 生命值:0
477 ~~~张大头小怪兽~~~
478 生命值:442
479 =======第36回合=======
480 骆昊使用普通攻击打了张大头
481 骆昊的魔法值恢复了9点
482 张大头回击了骆昊
483 ~~~骆昊奥特曼~~~
484 生命值:485
485 魔法值:19
486 
487 ~~~狄仁杰小怪兽~~~
488 生命值:0
489 ~~~白元芳小怪兽~~~
490 生命值:0
491 ~~~张大头小怪兽~~~
492 生命值:417
493 =======第37回合=======
494 骆昊使用普通攻击打了张大头
495 骆昊的魔法值恢复了2点
496 张大头回击了骆昊
497 ~~~骆昊奥特曼~~~
498 生命值:471
499 魔法值:21
500 
501 ~~~狄仁杰小怪兽~~~
502 生命值:0
503 ~~~白元芳小怪兽~~~
504 生命值:0
505 ~~~张大头小怪兽~~~
506 生命值:396
507 =======第38回合=======
508 骆昊使用普通攻击打了张大头
509 骆昊的魔法值恢复了9点
510 张大头回击了骆昊
511 ~~~骆昊奥特曼~~~
512 生命值:459
513 魔法值:30
514 
515 ~~~狄仁杰小怪兽~~~
516 生命值:0
517 ~~~白元芳小怪兽~~~
518 生命值:0
519 ~~~张大头小怪兽~~~
520 生命值:381
521 =======第39回合=======
522 骆昊使用普通攻击打了张大头
523 骆昊的魔法值恢复了10点
524 张大头回击了骆昊
525 ~~~骆昊奥特曼~~~
526 生命值:439
527 魔法值:40
528 
529 ~~~狄仁杰小怪兽~~~
530 生命值:0
531 ~~~白元芳小怪兽~~~
532 生命值:0
533 ~~~张大头小怪兽~~~
534 生命值:365
535 =======第40回合=======
536 骆昊使用普通攻击打了张大头
537 骆昊的魔法值恢复了2点
538 张大头回击了骆昊
539 ~~~骆昊奥特曼~~~
540 生命值:419
541 魔法值:42
542 
543 ~~~狄仁杰小怪兽~~~
544 生命值:0
545 ~~~白元芳小怪兽~~~
546 生命值:0
547 ~~~张大头小怪兽~~~
548 生命值:349
549 =======第41回合=======
550 骆昊使用普通攻击打了张大头
551 骆昊的魔法值恢复了8点
552 张大头回击了骆昊
553 ~~~骆昊奥特曼~~~
554 生命值:404
555 魔法值:50
556 
557 ~~~狄仁杰小怪兽~~~
558 生命值:0
559 ~~~白元芳小怪兽~~~
560 生命值:0
561 ~~~张大头小怪兽~~~
562 生命值:324
563 =======第42回合=======
564 骆昊使用了魔法攻击.
565 张大头回击了骆昊
566 ~~~骆昊奥特曼~~~
567 生命值:390
568 魔法值:30
569 
570 ~~~狄仁杰小怪兽~~~
571 生命值:0
572 ~~~白元芳小怪兽~~~
573 生命值:0
574 ~~~张大头小怪兽~~~
575 生命值:313
576 =======第43回合=======
577 骆昊使用普通攻击打了张大头
578 骆昊的魔法值恢复了3点
579 张大头回击了骆昊
580 ~~~骆昊奥特曼~~~
581 生命值:375
582 魔法值:33
583 
584 ~~~狄仁杰小怪兽~~~
585 生命值:0
586 ~~~白元芳小怪兽~~~
587 生命值:0
588 ~~~张大头小怪兽~~~
589 生命值:290
590 =======第44回合=======
591 骆昊使用普通攻击打了张大头
592 骆昊的魔法值恢复了4点
593 张大头回击了骆昊
594 ~~~骆昊奥特曼~~~
595 生命值:358
596 魔法值:37
597 
598 ~~~狄仁杰小怪兽~~~
599 生命值:0
600 ~~~白元芳小怪兽~~~
601 生命值:0
602 ~~~张大头小怪兽~~~
603 生命值:273
604 =======第45回合=======
605 骆昊使用了魔法攻击.
606 张大头回击了骆昊
607 ~~~骆昊奥特曼~~~
608 生命值:341
609 魔法值:17
610 
611 ~~~狄仁杰小怪兽~~~
612 生命值:0
613 ~~~白元芳小怪兽~~~
614 生命值:0
615 ~~~张大头小怪兽~~~
616 生命值:263
617 =======第46回合=======
618 骆昊使用魔法失败.
619 张大头回击了骆昊
620 ~~~骆昊奥特曼~~~
621 生命值:326
622 魔法值:17
623 
624 ~~~狄仁杰小怪兽~~~
625 生命值:0
626 ~~~白元芳小怪兽~~~
627 生命值:0
628 ~~~张大头小怪兽~~~
629 生命值:263
630 =======第47回合=======
631 骆昊使用普通攻击打了张大头
632 骆昊的魔法值恢复了3点
633 张大头回击了骆昊
634 ~~~骆昊奥特曼~~~
635 生命值:316
636 魔法值:20
637 
638 ~~~狄仁杰小怪兽~~~
639 生命值:0
640 ~~~白元芳小怪兽~~~
641 生命值:0
642 ~~~张大头小怪兽~~~
643 生命值:244
644 =======第48回合=======
645 骆昊使用普通攻击打了张大头
646 骆昊的魔法值恢复了4点
647 张大头回击了骆昊
648 ~~~骆昊奥特曼~~~
649 生命值:297
650 魔法值:24
651 
652 ~~~狄仁杰小怪兽~~~
653 生命值:0
654 ~~~白元芳小怪兽~~~
655 生命值:0
656 ~~~张大头小怪兽~~~
657 生命值:229
658 =======第49回合=======
659 骆昊使用普通攻击打了张大头
660 骆昊的魔法值恢复了7点
661 张大头回击了骆昊
662 ~~~骆昊奥特曼~~~
663 生命值:285
664 魔法值:31
665 
666 ~~~狄仁杰小怪兽~~~
667 生命值:0
668 ~~~白元芳小怪兽~~~
669 生命值:0
670 ~~~张大头小怪兽~~~
671 生命值:209
672 =======第50回合=======
673 骆昊使用了魔法攻击.
674 张大头回击了骆昊
675 ~~~骆昊奥特曼~~~
676 生命值:267
677 魔法值:11
678 
679 ~~~狄仁杰小怪兽~~~
680 生命值:0
681 ~~~白元芳小怪兽~~~
682 生命值:0
683 ~~~张大头小怪兽~~~
684 生命值:195
685 =======第51回合=======
686 骆昊使用魔法失败.
687 张大头回击了骆昊
688 ~~~骆昊奥特曼~~~
689 生命值:257
690 魔法值:11
691 
692 ~~~狄仁杰小怪兽~~~
693 生命值:0
694 ~~~白元芳小怪兽~~~
695 生命值:0
696 ~~~张大头小怪兽~~~
697 生命值:195
698 =======第52回合=======
699 骆昊使用普通攻击必杀虐了张大头
700 骆昊的魔法值恢复了2点.
701 张大头回击了骆昊
702 ~~~骆昊奥特曼~~~
703 生命值:242
704 魔法值:13
705 
706 ~~~狄仁杰小怪兽~~~
707 生命值:0
708 ~~~白元芳小怪兽~~~
709 生命值:0
710 ~~~张大头小怪兽~~~
711 生命值:180
712 =======第53回合=======
713 骆昊使用魔法失败.
714 张大头回击了骆昊
715 ~~~骆昊奥特曼~~~
716 生命值:224
717 魔法值:13
718 
719 ~~~狄仁杰小怪兽~~~
720 生命值:0
721 ~~~白元芳小怪兽~~~
722 生命值:0
723 ~~~张大头小怪兽~~~
724 生命值:180
725 =======第54回合=======
726 骆昊使用普通攻击打了张大头
727 骆昊的魔法值恢复了1点
728 张大头回击了骆昊
729 ~~~骆昊奥特曼~~~
730 生命值:214
731 魔法值:14
732 
733 ~~~狄仁杰小怪兽~~~
734 生命值:0
735 ~~~白元芳小怪兽~~~
736 生命值:0
737 ~~~张大头小怪兽~~~
738 生命值:157
739 =======第55回合=======
740 骆昊使用普通攻击必杀虐了张大头
741 骆昊的魔法值恢复了3点.
742 张大头回击了骆昊
743 ~~~骆昊奥特曼~~~
744 生命值:202
745 魔法值:17
746 
747 ~~~狄仁杰小怪兽~~~
748 生命值:0
749 ~~~白元芳小怪兽~~~
750 生命值:0
751 ~~~张大头小怪兽~~~
752 生命值:133
753 =======第56回合=======
754 骆昊使用普通攻击打了张大头
755 骆昊的魔法值恢复了2点
756 张大头回击了骆昊
757 ~~~骆昊奥特曼~~~
758 生命值:190
759 魔法值:19
760 
761 ~~~狄仁杰小怪兽~~~
762 生命值:0
763 ~~~白元芳小怪兽~~~
764 生命值:0
765 ~~~张大头小怪兽~~~
766 生命值:113
767 =======第57回合=======
768 骆昊使用魔法失败.
769 张大头回击了骆昊
770 ~~~骆昊奥特曼~~~
771 生命值:173
772 魔法值:19
773 
774 ~~~狄仁杰小怪兽~~~
775 生命值:0
776 ~~~白元芳小怪兽~~~
777 生命值:0
778 ~~~张大头小怪兽~~~
779 生命值:113
780 =======第58回合=======
781 骆昊使用普通攻击打了张大头
782 骆昊的魔法值恢复了4点
783 张大头回击了骆昊
784 ~~~骆昊奥特曼~~~
785 生命值:161
786 魔法值:23
787 
788 ~~~狄仁杰小怪兽~~~
789 生命值:0
790 ~~~白元芳小怪兽~~~
791 生命值:0
792 ~~~张大头小怪兽~~~
793 生命值:96
794 =======第59回合=======
795 骆昊使用了魔法攻击.
796 张大头回击了骆昊
797 ~~~骆昊奥特曼~~~
798 生命值:149
799 魔法值:3
800 
801 ~~~狄仁杰小怪兽~~~
802 生命值:0
803 ~~~白元芳小怪兽~~~
804 生命值:0
805 ~~~张大头小怪兽~~~
806 生命值:83
807 =======第60回合=======
808 骆昊使用普通攻击打了张大头
809 骆昊的魔法值恢复了6点
810 张大头回击了骆昊
811 ~~~骆昊奥特曼~~~
812 生命值:138
813 魔法值:9
814 
815 ~~~狄仁杰小怪兽~~~
816 生命值:0
817 ~~~白元芳小怪兽~~~
818 生命值:0
819 ~~~张大头小怪兽~~~
820 生命值:58
821 =======第61回合=======
822 骆昊使用普通攻击打了张大头
823 骆昊的魔法值恢复了1点
824 张大头回击了骆昊
825 ~~~骆昊奥特曼~~~
826 生命值:120
827 魔法值:10
828 
829 ~~~狄仁杰小怪兽~~~
830 生命值:0
831 ~~~白元芳小怪兽~~~
832 生命值:0
833 ~~~张大头小怪兽~~~
834 生命值:37
835 =======第62回合=======
836 骆昊使用普通攻击打了张大头
837 骆昊的魔法值恢复了10点
838 张大头回击了骆昊
839 ~~~骆昊奥特曼~~~
840 生命值:101
841 魔法值:20
842 
843 ~~~狄仁杰小怪兽~~~
844 生命值:0
845 ~~~白元芳小怪兽~~~
846 生命值:0
847 ~~~张大头小怪兽~~~
848 生命值:14
849 =======第63回合=======
850 骆昊使用普通攻击必杀虐了张大头
851 骆昊的魔法值恢复了2点.
852 ~~~骆昊奥特曼~~~
853 生命值:101
854 魔法值:22
855 
856 ~~~狄仁杰小怪兽~~~
857 生命值:0
858 ~~~白元芳小怪兽~~~
859 生命值:0
860 ~~~张大头小怪兽~~~
861 生命值:0
862 
863 ========战斗结束!========
864 
865 骆昊奥特曼胜利!
View Code
原文地址:https://www.cnblogs.com/aszeno/p/11294316.html