55 lines
1.6 KiB
Python
55 lines
1.6 KiB
Python
class Settings():
|
||
"""存储《外星人入侵》的所有设置的类"""
|
||
|
||
def __init__(self):
|
||
"""初始化游戏的静态设置"""
|
||
# 屏幕设置
|
||
self.screen_width = 1200
|
||
self.screen_height = 800
|
||
self.bg_color = (230, 230, 230)
|
||
|
||
# 飞船的设置
|
||
self.ship_speed_factor = 0.3
|
||
|
||
# 子弹设置
|
||
self.bullet_speed_factor =1
|
||
self.ship_limit = 3
|
||
self.bullet_width = 3
|
||
self.bullet_height = 20
|
||
self.bullet_color = 255, 0, 255
|
||
self.bullets_allowed = 20
|
||
|
||
# 外星人设置
|
||
self.alien_speed_factor = 0.1
|
||
self.fleet_drop_speed = 10
|
||
|
||
# 以什么样的速度加快游戏节奏
|
||
self.speedup_scale = 1.03
|
||
# 外星人点数的提高速度
|
||
self.score_scale = 1.01
|
||
|
||
self.initialize_dynamic_settings()
|
||
|
||
# fleet_direction为1表示向右移,为-1表示向左移
|
||
self.fleet_direction = 1
|
||
|
||
def initialize_dynamic_settings(self):
|
||
"""初始化随游戏进行而变化的设置"""
|
||
self.ship_speed_factor = 1
|
||
self.bullet_speed_factor = 1.5
|
||
self.alien_speed_factor = 0.5
|
||
|
||
# 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)
|