python_外星人入侵(1-3)

继续编写下去时我们发现一个应该被解决的问题——每当我们要添加设置时,就在代码出随处添加,到时候维护代码时很不方便。

所以我们添加了一个模块专门用来存放各种设置,命名为settings.py,其中有个settings类.

class Settings():
    """存储《外星人入侵》的所有设置的类"""

    def __init__(self):
        """初始化游戏的设置"""

        # 屏幕设置
        self.screen_width = 600
        self.screen_height = 400
        self.bg_color = (230, 230, 230)

代码随之改成,

--snip--
import pygame

from settings import Settings

def run_game():
    """初始化游戏并创建一个屏幕对象"""

    #  c初始化pygame
    pygame.init()
    #  为Settings创建一个实例对象
    ai_settings = Settings()
    #  创建一个显示窗口,宽600像素,高400像素
    screen = pygame.display.set_mode((ai_settings.screen_width, ai_settings.screen_height))
    #  显示窗口的标题为'Alien Invasion'
    pygame.display.set_caption('Alien Invasion')

    #  开始游戏的主循环
    while True:

       --snip--
        #  每次循环都重新绘制屏幕
        screen.fill(ai_settings.bg_color)

        #  让最近绘制的屏幕可见
        pygame.display.flip()

run_game()

效果与之前的无异。

猜你喜欢

转载自www.cnblogs.com/python-little-baby/p/9833006.html