zlp/settings

51 lines
2.3 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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)