报错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()
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()
运行结果:
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 骆昊奥特曼胜利!