练习 13-6: 游戏结束在为完成练习 13-5 而编写的游戏中,记录飞船被撞到了多少次以及有多少外星人被射杀。确定合适的游戏结束条件,并在满足该条件后结束游戏。
答:往期的郭芙蓉大战白展堂,已经限制了郭芙蓉被撞到3次就会结束游戏,即3条命,不再赘述。
以下讲设置限制郭芙蓉使出排山倒海击倒12个白展堂即为胜利(结束游戏),修改代码如下:
1.调整 kung_fu.py
(1) 在类_update_attack() 中添加代码:
if collisions:
for daxias in collisions.values():
self.daxias_destroyed += 1 * len(daxias)
# 检查击杀大侠的个数是否超过限制
if self.daxias_destroyed >= 12:
self.stats.game_active = False
pygame.mouse.set_visible(True)
(2)在类 __init__() 中添加代码:
self.daxias_destroyed = 0