Python从入门到实践第14章14.2提升等级

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:

        # 重置游戏设置
        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值