11个版本
0.1.10 | 2022年5月7日 |
---|---|
0.1.9 | 2020年3月7日 |
0.1.8 | 2020年2月25日 |
在数学类别中排名第724
每月下载量28次
58KB
515 代码行
wrapping_coords2d
Rust软件包,用于在1D索引和2D坐标之间进行包装转换。
版权所有 © 2020-2022 Fabio A. Correa Duran [email protected]
使用 WrappingCoords2d
将2D网格中的数据存储到1D容器(如 std::vec::Vec
)中。x和y坐标都环绕网格的边界。 WrappingCoords2d
不是一个容器;它只是一个操作索引的工具。对于2D容器,请参阅array2d
。有关坐标转换的更多示例,请参阅ameda
。
WrappingCoords2d
有助于设计细胞自动机、基于代理的模型和2D和3D的游戏世界。您可以将 WrappingCoords2d
作为实体-组件-系统 (ECS) 软件架构的一部分来使用,以实现高性能模型和灵活的游戏。请参阅我的ABM项目以获取示例。
请参阅wrapping_coords2d
软件包的文档中的更多示例。
常见问题解答
为什么不为单元格的邻居创建迭代器?
在ECS设计中,索引比迭代器更合理。通常,使用带索引的循环比迭代器链更符合习惯。如果游戏世界或模型景观有多个组件,例如颜色、深度和肥力,则将每个组件保留在自己的向量中是有意义的。最简单的方法是使用它们的索引。然而,我愿意接受一个代码提交,以贡献将迭代器添加到邻居中的代码。
此软件包使用unsafe
关键字吗?
不。