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

---未完待续---

相关推荐
dagouaofei9 分钟前
PPT AI生成实测报告:哪些工具值得长期使用?
人工智能·python·powerpoint
BoBoZz1916 分钟前
ExtractPolyLinesFromPolyData切割一个三维模型(球体),并可视化切割后产生的多条等高线
python·vtk·图形渲染·图形处理
quikai198127 分钟前
python练习第六组
java·前端·python
222you28 分钟前
线程的常用方法
java·开发语言
云栖梦泽31 分钟前
易语言界面美化与组件扩展
开发语言
catchadmin32 分钟前
PHP 值对象实战指南:避免原始类型偏执
android·开发语言·php
Trouville0141 分钟前
Python中encode和decode的用法详解
开发语言·python
JS_GGbond1 小时前
JavaScript事件循环:餐厅里的“宏任务”与“微任务”
开发语言·javascript·ecmascript
belldeep1 小时前
python:backtrader 使用指南
python·backtrader·量化回测
codingPower1 小时前
制作ftl文件通过FreeMarke生成PDF文件(含图片处理)
java·开发语言·pdf