Fight Aliens 配置模块创建和抽取

游戏中会有很多配置信息,我们为了后期维护更加方便,我们把一些初始化的配置信息抽取出来,然后创建配置模块,即新建 game_config.py文件

代码如下:

复制代码
# -*- coding: utf-8 -*-
# 作者: guos
# 日期: 2023/3/29


# 该模块[即一个py文件就是一个模块,命名小写开头]用来存储游戏的配置信息
class GameConfig:
    # 类名:大驼峰
    def __init__(self):
        # 直接将配置信息,存储到GameConfig实例对象中
        self.width = 800  # 宽度
        self.height = 600  # 高度
        self.title = 'Fight Aliens'  # 游戏标题
        self.bg_color = (230, 230, 230)  # 窗口背景颜色


    @property
    def size(self):
        #  @property 使 size变为属性,可以直接 对象.size 来获取值
        # 这里使用来属性方法,返回元组 来动态计算窗口的大小
        return self.width, self.height
复制代码

 

main.py文件中调整如下:

复制代码
# -*- coding: utf-8 -*-
# 作者: guos
# 日期: 2023/3/29


# 游戏的主文件,使用该文件来启动游戏
import pygame
import sys
import time


from game_config import GameConfig


# 创建配置对象
gc = GameConfig()


# 初始化
pygame.init()
# 设置窗口大小 --> 宽高 元组
screen = pygame.display.set_mode(gc.size)
# 设置窗口的标题
pygame.display.set_caption(gc.title)


# 创建主循环
while True:
    # 处理事件
    for event in pygame.event.get():
        # 处理退出的事件
        if event.type == pygame.QUIT:
            sys.exit()
    # 设置窗口背景颜色, rgb值元组
    screen.fill(gc.bg_color)
    # 对窗口进行重绘
    pygame.display.flip()
复制代码

 

posted @   以赛亚  阅读(14)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示