《Python编程从入门到实践》day19

#昨日知识点回顾

使用unittest模块测试单元和类

#今日知识点学习

第12章 武装飞船

12.1 规划项目

游戏《外星人入侵》

12.2 安装pygame

终端管理器执行 pip install pygame

12.3 开始游戏项目

12.3.1 创建Pygame窗口及响应用户输入

python 复制代码
import sys

import pygame


class AlienInvasion:
    """管理游戏资源和行为的类"""

    def __init__(self):
        """初始化游戏并创建游戏资源"""
        pygame.init()

        self.screen = pygame.display.set_mode((1200, 800))
        # 实参元组(1200,800)指定游戏窗口尺寸宽1200像素、高800像素
        pygame.display.set_caption("Alien Invasion")

    def run_game(self):
        """开始游戏的主循环"""
        while True:
            # 监视键盘和鼠标事件
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    sys.exit()

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


if __name__ == '__main__':
    # 创建游戏实例并运行游戏
    ai = AlienInvasion()
    ai.run_game()

# 运行结果:
#     import pygame
# ModuleNotFoundError: No module named 'pygame'

---未完待续---

相关推荐
GEO优化小助手5 小时前
2026临沂GEO优化公司实测解析:3家本土机构适配性参考
大数据·人工智能·python
qq3621967055 小时前
阿里裁员新消息(2026最新动态汇总)
java·开发语言·前端
砚底藏山河5 小时前
沪深A股:如何获取基金持股数据
java·python·数据分析·maven
.千余5 小时前
【C++】模板进阶全解:非类型参数|全特化|偏特化|分离编译完全指南
开发语言·c++·笔记·学习·其他
代码改善世界5 小时前
【C++进阶】C++11:列表初始化、右值引用与移动语义、完美转发全解析
java·开发语言·c++
goldenrolan6 小时前
学习型红外控制系统稳定性挂测工装专项总结
软件测试·python·stm32·嵌入式·红外
scx_link6 小时前
通过git bash在本地创建分支,并推送到远程仓库中
开发语言·git·bash
GZ同学6 小时前
单双变量Ripley’s K函数 R 语言实现
开发语言·r语言
Channing Lewis6 小时前
PHP 解析 Excel 的那些坑:一次“行号错位”引发的数据丢失
开发语言·php·excel
小小龙学IT6 小时前
Apache Airflow 2.x 深度指南:用 Python 编排一切的现代化工作流引擎
开发语言·python·apache