太空碰撞游戏开发:从基础到完善
1. 控制导弹发射速率
在之前的程序中,飞船每秒大约能发射50枚导弹,这对于玩家来说有些过多。因此,需要对导弹发射速率进行限制。
1.1 Astrocrash05程序
Astrocrash05程序通过创建倒计时机制来限制导弹发射速率,在两次发射之间强制添加延迟。当倒计时结束后,玩家才能再次发射导弹。
1.2 添加飞船类常量
为了实现发射延迟,首先在 Ship
类中添加一个类常量:
MISSILE_DELAY = 25
MISSILE_DELAY
表示玩家两次发射导弹之间必须等待的总延迟。
1.3 更新飞船的构造方法
在 Ship
类的构造方法中添加一行代码,为新创建的飞船对象添加一个名为 missile_wait
的属性:
self.missile_wait = 0
missile_wait
用于倒计时,直到玩家可以发射下一枚导弹。当 missile_wait
为0时,玩家可以随意发射新导弹;若大于0,则表示玩家最近发射了一枚导弹,需要等待倒计时结束才能再次发射。玩家发射导弹后,将 missile_wait
重置为