2 个版本

0.0.2 2024年1月3日
0.0.1 2023年12月30日

#1153 in 游戏开发

MIT/Apache

31KB
575

Rust

Bevy 引擎的 Petri 网插件。 🍾

关于

petnat 为您的 Bevy 项目提供了 Petri 网技术。这是一种强大的建模状态、过程、资源等方法的方式。

这是一个非常实验性的项目,我主要开始它是因为我想玩 Petri 网并提高我的 Rust 编程能力。我不确定这个插件可能的有用性,但我希望随着时间的推移和实际使用,能够发现如何改进它。

大致思路

  1. 使用位置和转换构建模型。
  2. 定义一个 PetriNet<NetId> 资源。
  3. 将一个 Token<NetId> 组件添加到一个实体中。
  4. 根据模型用 Token 标记一些(可能是初始的)位置。
  5. 根据模型在合适的时候触发转换。
  6. 根据 Token 的当前标记实现游戏逻辑。

示例

查看 此示例,它演示了 Petri 网的实际应用,以及 此处测试 中更多 Petri 网实例。

依赖项

~11MB
~193K SLoC