class Settings():
    """存储《外星人入侵》的所有设置的类"""
    def __init__(self):
        """初始化游戏的设置"""
        # 屏幕设置
        self.screen_width=1920
        self.screen_height=1000
        self.bg_color=(230,230,230)

        # 飞船的设置
        self.ship_speed_factor = 1.5
        self.ship_limit=3

        # 子弹设置
        self.bullet_speed_factor=1
        self.bullet_width=3
        self.bullet_height=15
        self.bullet_color=(60,60,60)
        self.bullets_allowed=100000

        # 子弹发射
        self.bullet_fire = False
        self.bullet_fire_rate = 35
        self.bullet_fire_rate_cnt = 0

        # 外星人设置
        self.alien_speed_factor=1
        self.fleet_frop_speed=10
        self.fleet_direction=1  # fleet_direction为1表示向右移，为-1表示向左移

        # 以什么样的速度加快游戏节奏
        self.speedup_scale = 1.1

        # 外星人点数提高速度
        self.score_scale=1.5

        self.initialize_dynamic_settings()

    def initialize_dynamic_settings(self):
        """初始化随游戏进行而变化的设置"""
        self.ship_speed_factor=1.5
        self.bullet_speed_factor=1
        self.alien_speed_factor=1
        self.fleet_direction=1

        self.alien_points = 50  # 记分

        self.bullet_fire_rate_cnt = 0

    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.bullet_fire_rate /= self.speedup_scale

        self.alien_points=int(self.alien_points*self.score_scale)

        msg="speed:[ship,bullet,alient,points]=["+str(self.ship_speed_factor)[:4]+","+str(self.bullet_speed_factor)[:4]+","+str(self.alien_speed_factor)[:4]+","+str(self.alien_points)+"]"
        print(msg)


