Games:用纯 Python 写游戏,这个库装了 29 个

Games 在 GitHub 上拿到了 5,379 Star。

这个项目做了一件事:用纯 Python 实现各种经典小游戏。俄罗斯方块、贪吃蛇、吃豆人、坦克大战、飞机大战……总共 29 款,全部用 Python 写成,不需要额外安装游戏引擎。

正文顶部截图

1、 这个项目是什么

Games 是一个 Python 游戏合集库,包名叫 cpgames。它把 29 个经典小游戏打包在一起,通过统一的接口就能运行。

这些游戏包括:俄罗斯方块、贪吃蛇、吃豆人、坦克大战、飞机大战、扫雷、五子棋、2048、推箱子、走迷宫、愤怒的小鸟、滑雪游戏、塔防游戏、打砖块、打地鼠、记忆翻牌、拼图、乒乓球、炸弹人、魔塔、热血足球、24 点、消消乐、外星人入侵、飞扬的小鸟、仿谷歌小恐龙、兔子和獾射击、声控小游戏。

每个游戏都有独立的源码目录,可以单独研究或修改。

README区域截图

2、 怎么用

安装方式有三种,最简单的是 pip:

pip install cpgames

也可以下载 whl 文件离线安装,或者从源码安装。

装好之后,三行代码就能随机启动一个游戏:

import random
from cpgames import cpgames

game_client = cpgames.CPGames()
all_supports = game_client.getallsupported()
game_client.execute(random.choice(list(all_supports.values())))

getallsupported() 返回所有支持的游戏列表,execute() 接收游戏名称启动对应游戏。

3、 适合谁用

这个项目的主要价值在于学习。

每个游戏的实现代码都是独立的,结构清晰。对于想学 Python 游戏开发的人来说,可以逐个读源码,理解游戏循环、碰撞检测、事件处理这些基本概念是怎么用 Python 实现的。

对于教 Python 的人,这些小游戏是现成的教学案例。代码量不大,逻辑完整,学生能看懂,也能动手改。

对于想做小游戏 demo 的人,可以直接 fork 过来改素材、改规则,快速出一个能跑的原型。

4、 项目结构

Games 的代码组织比较规整。核心代码在 cpgames/core/games/ 目录下,每个游戏一个子目录。所有游戏共享同一套基础框架,包括窗口管理、事件循环、资源加载这些通用逻辑。

项目依赖 pygame,这是 Python 生态里最常用的 2D 游戏库。游戏素材(图片、音乐、字体)从网络收集,仅用于学习目的。

作者 CharlesPikachu 还维护了一系列 Python 工具项目:音乐下载器、视频下载器、图片压缩、免费代理池、论文下载、深度学习玩具等。Games 是其中比较有特色的一个。

5、 局限性

这些游戏的实现偏向教学演示,不是商业级产品。画面比较简单,没有复杂的音效和动画。部分游戏的交互逻辑比较基础,和原版相比缺少一些功能。

但对于学习 Python 游戏开发这个目的来说,够用了。

6、 安装注意事项

安装前确保 Python 版本兼容。项目支持 Python 3,具体版本要求可以看 PyPI 页面。

如果遇到依赖问题,可以先单独安装 pygame:

pip install pygame

然后再装 cpgames。

源码安装的话,clone 仓库后运行 python setup.py install 即可。

这个项目适合 Python 初学者和游戏开发入门者。代码量适中,结构清晰,每个游戏都能独立运行和研究。如果你想用 Python 做点有意思的东西,可以从这里开始。

个项目适合 Python 初学者和游戏开发入门者。代码量适中,结构清晰,每个游戏都能独立运行和研究。如果你想用 Python 做点有意思的东西,可以从这里开始。

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐