settings.py 1.4 KB
Newer Older
逆流者blog's avatar
逆流者blog 已提交
1 2 3 4 5 6 7 8 9 10
class Settings():
	"""存储《外星人入侵》的所有设置的类"""

	def __init__(self):
		"""初始化游戏的静态设置"""
		# 屏幕设置
		self.screen_width = 1200
		self.screen_height = 800
		self.bg_color = (230, 230, 230)

11
		# 飞船设置
逆流者blog's avatar
逆流者blog 已提交
12 13 14 15 16 17 18 19 20 21 22
		# 玩家拥有的飞船数
		self.ships_limit = 3

		# 子弹设置
		# 宽3像素
		self.bullet_width = 3
		# 高5像素
		self.bullet_height = 15
		# 颜色
		self.bullet_color = 60, 60, 60
		# 最大子弹数
23
		self.bullets_allowed = 3
逆流者blog's avatar
逆流者blog 已提交
24 25 26 27 28 29 30 31 32 33 34 35 36 37

		# 外星人设置
		# 外星人撞到屏幕, 向下移动的速度
		self.fleet_drop_speed = 10

		# 以什么样的速度加快游戏节奏
		self.speedup_scale = 1.1
		# 外星人点数的提高速度
		self.score_scale = 1.5

		self.initialize_dynamic_settings()

	def initialize_dynamic_settings(self):
		"""初始化随游戏进行而变化的设置"""
38
		# 飞船速度
逆流者blog's avatar
逆流者blog 已提交
39
		self.ship_speed_factor = 1.5
40
		# 子弹速度
逆流者blog's avatar
逆流者blog 已提交
41
		self.bullet_speed_factor = 3
42
		# 外星人速度
逆流者blog's avatar
逆流者blog 已提交
43 44 45 46 47
		self.alien_speed_factor = 1

		# 记分
		self.alien_points = 50

48 49 50
		# 方向 为1表示向右, 为-1表示向左
		self.fleet_direction = 1

逆流者blog's avatar
逆流者blog 已提交
51 52 53 54 55 56 57 58
	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)