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

---未完待续---

相关推荐
t***54418 分钟前
Clang 编译器在 Orwell Dev-C++ 中的局限性
开发语言·c++
m0_5145205731 分钟前
MySQL索引优化后性能没提升_通过EXPLAIN查看索引命中率
jvm·数据库·python
H Journey42 分钟前
Python 国内pip install 安装缓慢
python·pip·install 加速
oy_mail1 小时前
QoS质量配置
开发语言·智能路由器·php
oyzz1201 小时前
PHP操作redis
开发语言·redis·php
nashane1 小时前
HarmonyOS 6学习:网络能力变化监听与智能提示——告别流量偷跑,打造贴心网络感知应用
开发语言·php·harmony app
Polar__Star2 小时前
如何在 AWS Lambda 中正确使用临时凭证生成 S3 预签名 URL
jvm·数据库·python
凌波粒2 小时前
Java 8 “新”特性详解:Lambda、函数式接口、Stream、Optional 与方法引用
java·开发语言·idea
m0_743623922 小时前
React 自定义 Hook 的命名规范与调用规则详解
jvm·数据库·python
拾贰_C3 小时前
【Google | Gemini | API | POST】怎么使用Google 的Gemini API (原生版)
开发语言·lua