《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'

---未完待续---

相关推荐
Dovis(誓平步青云)4 分钟前
拖动关键帧角色就抽动,动画编辑器怎样补齐中间状态
开发语言·前端·javascript·机器学习·编辑器
小小张说故事5 分钟前
Python 的赋值为什么不会复制对象?拆开引用、浅拷贝与深拷贝
后端·python
行走的陀螺仪8 分钟前
Claude Code 从入门到实战(二):Bash工具、Plan模式与后台任务
开发语言·bash
努力努力再努力wz13 分钟前
【Lua 入门系列】从执行模型到事件驱动:一文理解 Lua 有栈协程、挂起恢复与协作式调度
开发语言·lua
椒颜皮皮虾྅31 分钟前
一套 C# 接口,解锁四类视觉任务:DeploySharp 分类、分割、关键点与旋转框实战
开发语言·分类·c#
ljt272496066132 分钟前
Python笔记(十三)--异常
笔记·python
日日大王学编程34 分钟前
开源Agent项目记忆设计决策对比
python·ai·langchain·开源·ai编程
vipxieliang35 分钟前
Python 魔法方法:让自定义对象更 Pythonic
python
2603_965896621 小时前
JavaScript 原型与原型链
开发语言·前端·javascript
朋友圈自动点赞工具1 小时前
Ruby方法查找:对象不存方法
开发语言·前端·ruby·科技资讯