calculator随机、数学与更多

此页面是一个“你会经常使用”的工具杂烩:随机数、格式化、时间以及一些在大多数游戏中出现的核心子系统。

circle-info

如果你在寻找数组/切片,请参见 数组与集合.

随机数 (RNG)

Random 使用显式的 u64 种子。通过传递种子来 ref 以便它会更新。

rng: u64 = rng_seed_time();
// 或者每个实体确定性地:
// rng: u64 = rng_seed(entity.id);

// 范围值是包含端点的
roll := rng_range_int(ref rng, 1, 10);
chance := rng_range_float(ref rng, 0, 1);
circle-exclamation

数学函数

常用的数学辅助函数:

angle_sin := sin(x);
angle_cos := cos(x);

result := pow(2.0, 3.0);   // 8.0
root := sqrt(16.0);        // 4.0

value := lerp(0.0, 100.0, 0.5);  // 50.0
clamped := clamp(value, 0.0, 10.0);

absolute := abs(-5);
minimum := min(5, 10);
maximum := max(5, 10);

len := length(v);
len_sq := length_squared(v);
normalized := normalize(v);

字符串格式化

使用 % 使用参数数组的占位符:

如果你需要在百分号旁(或紧挨另一个参数)放置参数,使用 %0 作为……的别名 %:

对于小数舍入,使用 format_float:

日志记录

日志遵循相同的格式化规则:

时间

音效 (SFX)

circle-exclamation

经济快速入门(货币)

经济货币是 每个玩家自动持久化.

Economy 用于完整指南。

最后更新于