一个用于教学编程的小游戏开发框架。
pygamelib的Python项目详细描述
pygamelib公司
一个(不是那么)小的库,用于基于终端的游戏开发。在
先发制人的警告
在版本1.1.1和1.2.0之间,该库从hac game lib重命名为pygamelib,并对其核心进行了重新处理。因此,即使所有对象在不同版本之间仍然保持API兼容,但在导入过程中仍需要进行一些重命名。在
简介
历史上,这个库被用作基础,教6到15岁的孩子编码。 它的目标是给新的和学习的开发人员(包括孩子们)提供一个环境,让他们专注于算法,而不是糟糕的显示或精确的管理。在
它最初是一个非常简单的库,功能很少,但随着时间的推移,它变成了更多的功能。以至于现在可以用它进行非常体面的游戏。 因此,这是显然与其他游戏框架相比仍然非常简单,它仍然不打算成为真正的游戏开发者的任何严肃的东西。 然而,它现在可以被有抱负的游戏开发者用来介绍2D游戏开发。在
有一个包含教程的Youtube channel。在
以下是该库目前可以实现的功能的快速视图(base_游戏很久没有更新):
游戏基地利用:
- 主要的“游戏引擎”(pygamelib.engine.Game游戏)在
- 许多不同类型的结构(从pygamelib.board_项):墙(好吧,墙…),宝藏(宝石和钱袋),一般结构(树)和通用结构(心脏和门户)
- Game()的菜单功能。在
- 玩家和NPC(来自pygamelib.board_项)在
- 库存(来自pygamelib.engine.Inventory)在
- 玩家和库存统计
- 随机执行器(2级NPC)和路径执行器(1级NPC)(来自pygamelib.actuators.SimpleActuators)在
有关更多最新示例,请查看:
- examples/suparex/一个程序级生成的平台游戏
- ^{y}更多体验。在
下面是一个制作糟糕的Suparex gif:
优点
希望您会发现pygamelib有很多优点:
- 它是simple。开始编写游戏需要非常有限的Python知识。在
- 然而,power为更高级的程序员提供了lot的可能性。在
- 可能性会随着学生的增加而扩大,为初学者提供“足够好”的基本功能和默认值,并为高级程序员提供大量调试机会。在
- 默认情况下,有很多可用的。你知道初学者只显示一块板的一部分需要多长时间吗?使用pygamelib只需1秒,如果必须手工操作,可能会稍长一些;)
- 它基于终端。这意味着没有显卡依赖性,跨平台,和一个激发想象力和创造力的框架。在
安装(推荐)
安装稳定版本的最简单方法是使用pypi:
pip3 install pygamelib
它将拉动所有依赖项
从来源和要求安装
Python
pygamelib只支持python3.6+。它将not与Python2一起运行。 我们使用pipenv来管理依赖关系。在
运行Pipenv以安装要求:
^{pr2}$如果需要运行所需的开发依赖项:
pip3 install pipenv pipenv install --dev
运行测试
要运行单元测试,请使用以下命令:
python -m unittest discover -s tests
终端颜色和表情
这并不是一个硬性的要求,但彩色表情符号确实让游戏变得栩栩如生。
然后我们建议安装一个彩色表情符号字体Noto Color Emojis(在大多数Linux发行版中,您可以从package manager安装它,搜索“Noto Color emoji”)。在
如果您的终端应用程序没有显示彩色表情图,请查看这个file并按照说明操作。在
运行示例
要使用pipenv运行示例:
pipenv shell (pygamelib)cd examples/suparex (pygamelib) python3 suparex.py
局限性
有很多限制,但最重要的是:
- 只支持一个玩家。在
- 没有什么保护措施可以防止内部混乱。这是有意,我希望孩子们学会使用API,而不是弄乱每个类的内部结构。在
- 它是纯Python(它很慢)。在
- 项目
标签: