#random #bevy #gamedev #fastrand #range #element #generate

rantz_random

主要是对fastrand进行封装,支持多种类型。支持bevy和rantz_spatial2d。

12 个版本 (4 个稳定版)

1.2.1 2024 年 7 月 20 日
1.2.0 2024 年 7 月 9 日
0.4.5 2024 年 6 月 24 日
0.3.7 2024 年 5 月 30 日

#1554游戏开发

Download history 222/week @ 2024-05-24 242/week @ 2024-05-31 206/week @ 2024-06-07 274/week @ 2024-06-14 199/week @ 2024-06-21 5/week @ 2024-06-28 405/week @ 2024-07-05 76/week @ 2024-07-12 118/week @ 2024-07-19 7/week @ 2024-07-26

每月 606 次下载
2 个 包中使用

MIT/Apache

27KB
694

rantz_random

一个简单的Rust库,用于使用 fastrand 生成随机值。目前基本上只是对一些额外类型的fastrand进行了封装。随着时间的推移可能会增长。适用于与 Bevy 一起使用。

可以生成以下类型的随机值

  • i8-128
  • u8-128
  • f32 & f64
  • Vec2/3/4, UVec2/3/4, and IVec2/3/4(使用 bevy 功能)
  • 颜色(使用 bevy 功能)
  • 角度、弧度、Position2D 以及所有方向(使用 spatial2d 功能)- 需要 rantz_spatial2d

可以生成以下类型的随机范围值

  • i8-128
  • u8-128
  • f32 & f64
  • Vec2/3/4, UVec2/3/4, and IVec2/3/4(使用 bevy 功能)
  • 角度、弧度、和 Position2D(使用 spatial2d 功能)- 需要 rantz_spatial2d

可以随机打乱任何 Clone + IntoIterator<T> + FromIterator<T> 的内容,以及返回随机元素或随机索引。

还包括一个用于加权随机生成的 WeightedTable 类。

用法

将其添加到您的 Cargo.toml。使用 rantz_random::*; 以获取定义随机生成的特性。

确定性

此crate依赖于 fastrand,它是“确定性”的。也就是说,对于给定的种子值,如果系统顺序是确定的,则结果将是确定的。

为了确保确定性,任何使用此crate功能的系统在添加到Bevy应用时都需要进行 .chain()

依赖关系

~23MB
~411K SLoC