python飞船游戏(一)

alien_invasion.py

 #初始化pygame\设置以及屏幕对象
    pygame.init()
    ai_settings = Settings()
    screen = pygame.display.set_mode(
            (ai_settings.screen_width,ai_settings.screen_height))
    pygame.display.set_caption("Alien Invasion")
    
    #创建Play按钮
    play_button = Button(ai_settings,screen,"Play")
    
    #创建一个用于存储游戏统计信息实例 创建记分牌
    stats = GameStats(ai_settings)
    sb = Scoreboard(ai_settings,screen,stats)
    #创建一艘飞船
    ship = Ship(ai_settings,screen)
    
    #创建一个用于存储子弹的编组 外星人编组
    bullets = Group()
    aliens = Group()
    
    #创建外星群
    gf.create_fleet(ai_settings,screen,ship,aliens)
    
    #开始游戏的主循环
    while True:
        
        
       gf.check_events(ai_settings,screen,stats,sb,play_button,ship,
                       aliens,bullets)
       
       if stats.game_active:
           ship.update()
           gf.update_bullets(ai_settings,screen,stats,sb,ship,aliens,bullets)
           gf.update_aliens(ai_settings,screen,stats,sb,ship,aliens,bullets)
           
       gf.update_screen(ai_settings,screen,stats,sb,ship,aliens,bullets,
                        play_button)
       
       #每次循环都重绘制屏幕
       
      

run_game()



#settings.py

 
    def __init__(self):
        """初始化游戏的设置"""
        #屏幕设置
        self.screen_width = 1200
        self.screen_height = 800
        self.bg_color = (255,215,0)
        
        
        #飞船设置
        self.ship_limit = 1
       
        #子弹设置
        
        self.bullet_width = 10
        self.bullet_height = 15
        self.bullet_color = 255,140,0      
        self.bullet_allowed = 10
        
        #子弹设置
        
        self.fleet_drop_speed = 10
        
        #节奏
        self.speedup_scale = 1.1
        
        self.initialize_dynamic_settings()
        
        #fleet_direction为1表示向右移 为 -1表示向左移
        self.fleet_direction = 1
        
        #加快游戏节奏的速度
        self.speedup_scale = 1.1
        
        #外星人点数的提高速度
        self.score_scale = 1.5
        
        self.initialize_dynamic_settings()
        
    def increase_speed(self):
        """提高速度设置外星人点数"""
        self.ship_speed_factor *= self.speedup_scale
        self.bullet_speed_factor *= self.speedup_scale
        self.alien_speed_factor *= self.speedup_scale
        
        self.alien_points = int(self.alien_points * self.score_scale)
        
        
    def initialize_dynamic_settings(self):
        """初始化随游戏进行而变化得设置"""
        self.ship_speed_factor = 1.5
        self.bullet_speed_factor = 1
        self.alien_speed_factor = 2
        #fleet_direction为1表示向右-1向左
        self.fleet_direction = 1
        
        #计分
        self.alien_points = 50
    
    def increase_speed(self):
        """提高速度设置"""
        self.ship_speed_factor *= self.speedup_scale
        self.bullet_speed_factor *= self.speedup_scale
        self.alien_speed_factor *= self.speedup_scale
        self.alien_points = int(self.alien_points * self.score_scale)

        print(self.alien_points)




猜你喜欢

转载自blog.csdn.net/weixin_38682447/article/details/80669592
今日推荐