You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

54 lines
1.6 KiB

9 months ago
# 开发日期: 2024/4/26
import pygame
class Settings():
"""储存《外星人入侵》的所有设置的类"""
def __init__(self):
"""初始化游戏的设置"""
# 屏幕设置
self.screen_width = 1400
self.screen_height = 800
self.bg_color = (0, 128, 128)
# 飞船的设置
self.ship_limit = 2
# 子弹设置
9 months ago
"""子弹伤害"""
self.bullet_damage = 80
9 months ago
self.bullets_allowed = 5
self.bullet_speed_factor = 2
# 外星人设置
9 months ago
"""修改"""
self.alien_max_hp = 160.0
self.fleet_drop_speed = 7
9 months ago
# 以什么样的速度加快游戏节奏
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 = 3
self.alien_speed_factor = 1
# fleet_direction为1表示向右移动为-1表示向左移动
self.fleet_direction = 1
self.alien_points = 30
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)