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

---未完待续---

相关推荐
qq_372154239 分钟前
Go 中自定义类型与基础类型的显式转换规则详解
jvm·数据库·python
浅时光_c11 分钟前
3 shell脚本编程
linux·开发语言·bash
Evand J29 分钟前
【三维轨迹目标定位,CKF+RTS,MATLAB程序】基于CKF与RTS平滑的三维非线性目标跟踪(距离+方位角+俯仰角)
开发语言·matlab·目标跟踪
LiAo_1996_Y1 小时前
CSS如何实现文字渐变效果_通过background-clip实现艺术字
jvm·数据库·python
2401_887724501 小时前
CSS如何让表单在手机端友好展示_利用Flexbox实现堆叠排版
jvm·数据库·python
zhangchaoxies1 小时前
Layui轮播图(carousel)怎么设置自动播放间隔
jvm·数据库·python
今天又在写代码1 小时前
java-v2
java·开发语言
FreakStudio1 小时前
无硬件学LVGL:基于Web模拟器+MiroPython速通GUI开发—布局与空间管理篇
python·单片机·嵌入式·面向对象·并行计算·电子diy
competes2 小时前
慈善基金投资底层逻辑应用 顶层代码低代码配置平台开发结构方式数据存储模块
java·开发语言·数据库·windows·sql
qq_372906932 小时前
如何在 Vuetify 中可靠捕获 Chip 关闭事件(包括键盘触发)
jvm·数据库·python