class Settings(): """存储《外星人入侵》的所有设置的类""" def __init__(self): """初始化游戏的设置""" # 屏幕设置 self.screen_width = 1200 #设置屏幕宽度 self.screen_height = 800 #设置屏幕高度 self.bg_color = (230, 230, 230) #设置屏幕背景色 # 飞船的位置 self.ship_speed_factor = 1.5 #设置飞船左右移动速度 self.ship_limit = 3 #设置飞船个数,即飞船有几条“命” # 子弹设置 self.bullet_speed_factor = 3 #设置子弹的向上移动速度 self.bullet_width = 3 #设置子弹的宽度 self.bullet_height = 15 #设置子弹的高度 self.bullet_color = 60, 60, 60 #设置子弹的眼色 self.bullets_allowed = 5 #设置屏幕上最多同时存在的子弹数 # 外星人设置 self.alien_speed_factor = 1 #设置外星人的左右移动速度 self.fleet_drop_speed = 10 #设置外星人群的向下移动速度 # 以什么样的速度加快游戏节奏 self.speedup_scale = 1.1 #设置每轮游戏节奏加快速度 # 外星人点数的提高速度 self.score_scale = 1.5 #设置每轮外星人分数提高倍数 self.initialize_dynamic_settings() #调用initialize_dynamic_settings()函数初始化游戏参数 def initialize_dynamic_settings(self): """初始化随游戏进行而变化的设置""" self.ship_speed_factor = 1.5 self.bullet_speed_factor = 5 self.alien_speed_factor = 1 # 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)