3 个不稳定版本
0.2.1 | 2024年3月9日 |
---|---|
0.2.0 | 2023年3月25日 |
0.1.0 | 2021年4月12日 |
#378 in 数学
每月72次下载
26KB
677 行
六边形实用库
这是一个用 Rust 编写的实用库,简化了需要处理六边形形状和相关数学的开发模块。
该库主要基于 Red Blob Games 自动生成的 Rust 实现。其他实现看起来都很混乱和复杂。自动生成的代码实际上相当简单,但没有考虑到 Rust 习惯用法。
这种实现方式在以下方面有所不同
- Both
Hex
和FractionalHex
实现了PartialEq
。
这意味着您可以使用assert_eq!(hex1, hex2)
或hex1 == hex2
。 Point
还为f64
提供了PartialEq
实现,使用float_eq
。- 我实现了一些函数作为
Hex
和FractionalHex
的特质,这意味着您可以这样做hex1.add(hex2)
或hex1.round()
。 - 其他功能作为它们自己的对象中的静态函数实现
HexDirection
、HexOffset
、HexDoubled
。 - 测试覆盖了所有内容,并以 Rust 方式实现。
- 自动生成的代码拆分成了几个文件模块。
本软件包采用 zlib 许可证 发布。
请自由地使用 GitHub 改进和贡献。我真的希望有一天能看到一个瓦片地图管理器。
这个库的开发是为了作为 BEVY 游戏引擎插件的组成部分。然而,BEVY 实现不在此存储库的范围内。
依赖关系
~1.5MB
~40K SLoC