Python行为树
项目描述
misbehave
Misbehave是一个Python行为树实现。行为树是一种设计模式,它将复杂的状态行为分解为其组成部分,以提高自主代理的可读性和可重用性。了解它们的好地方是这里。
Misbehave专注于Python语言特性,这些特性在其他语言中不可用,因此默认情况下缺少了AI设计的一些常见功能。其余部分对此语言做了轻微的说明,因为行为树可以用于视频游戏或机器人。
如何使用Misbehave
Misbehave行为树中的一个节点简单地是一个可调用对象。虽然这个库提供的节点是类,但您可以使用函数或闭包来定义它们。
节点函数的签名很简单
def MyNode(actor: Any, context: Any) -> misbehave.State
# Perform actions here.
演员是一个代表行为树控制的物体的对象。在视频游戏中,这将是一个怪物对象。
上下文可用于提供对传感器、控制、代表空间中事物的其他代码对象等的访问。如果您不需要它们,可以在这里传递None。
您的代码中的树可能看起来像这样
class MyActor():
tree = misbehave.selector.Sequence(
misbehave.action.IncreaseValue("behavior_tree_runs"),
my_actions.MoveForward(10),
my_actions.Rotate(90)
)
behavior_tree_runs = 0
这个简单的树跟踪整个树运行了多少次,然后使演员在正方形中移动。您必须在这里实现动作的具体细节。
开发
运行Misbehave需要Python 3.6或更高版本。
要在Misbehave上工作,在分叉并本地克隆后,您需要设置一个虚拟环境。您会发现我们没有任何需求文件:所有需求都在setup.cfg中列出,要么作为setup_requires,要么作为extras。
在您的项目目录中,且虚拟环境已激活
python -m pip install -e .[dev, tests]
如果您没有对misbehave进行可编辑安装,那么misbehave.version
将缺失,库将无法正常工作。
除此之外,我们已经准备好支持PEP 518和517,所以如果您使用的是支持这些规范的构建工具,请随意使用!
强烈建议您在提交任何工作分支之前,在misbehave目录上运行black
,然后运行pytest
。未能进行代码审查将导致PR不被接受。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分发
构建分发
misbehave-0.1.4.tar.gz的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 41dee958be68340f3cdf92598880bcab6cd52bfdb63b58e30014a3e9dccffd37 |
|
MD5 | ffddce4d970f054b5196a3e0b557434e |
|
BLAKE2b-256 | 0a04acee43e01f49c7440fbbed9afe4b68bdd903580780f25388b64db67df4f9 |
misbehave-0.1.4-py3-none-any.whl的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a5a4e1bcacb1a727d9bfa88363f5a90769332afa1ee9c1aed780ff57e14fe935 |
|
MD5 | 8ee8931f2cd926771c0669715ed1dbee |
|
BLAKE2b-256 | 97dac1ba8241b9b0f89d88fa02764677e3af8bd93bee781cf3cb9c838b04801d |