14.2提高等级
功能:每当玩家将屏幕上的外星人都消灭干净后,加快游戏的节奏,让游戏玩起来更难。
settings.py
def initialize_dynamic_settings(self):
'''初始化随游戏进行而变化的设置'''
self.ship_speed_factor=1.5
14.2.1修改速度设置
Firstly
重新组织Settings类,将游戏设置划分成静态的和动态的两组
settings.py
class Settings():
def __init__(self):
'''初始化游戏的静态设置'''
#屏幕设置
self.screen_width=800
self.screen_height=600
self.bg_color=(230,230,230)
self.ship_speed_factor=1.5
self.ship_limit=3
#子弹设置
self.bullet_speed_factor=3
self.bullet_width=300
self.bullet_height=15
self.bullet_color=(60,60,60)
self.bullets_allowed=3
#外星人设置
self.alien_speed_factor=1
self.fleet_drop_speed=50
self.fleet_direction=1
#以什么样的速度加快游戏节奏
#动态设置
Secondly
初始化随游戏进行而变化的属性
def initialize_dynamic_settings(self):
'''初始化随游戏进行而变化的设置'''
#fleet_direction为1表示向右,为-1表示向左
Finaly
加快游戏的节奏
settings.py
def increase_speed(self):
'''提高速度设置'''
game_function.py
def check_bullet_alien_collisions(ai_settings,screen,ship,aliens,bullets,stats):
if len(aliens)==0:
#删除现有子弹,加快游戏节奏,并创建一群新的外星人
bullets.empty()
#加快游戏节奏
create_fleet(ai_settings,screen,ship,aliens)
14.2.2重置速度
功能:每当玩家开始新游戏时,我们都需要将发生了变化的设置重置为初始值
play_button按钮启动游戏
def check_play_button(ai_settings, screen, stats, play_button, ship, aliens,
bullets, mouse_x, mouse_y):
"""在玩家单击Play按钮时开始新游戏"""
button_clicked = play_button.rect.collidepoint(mouse_x, mouse_y)
if button_clicked and not stats.game_active:
# 重置游戏设置