有没有任何可能的方法可以在没有任何二元运算符的情况下制作伪随机数?由于这是一张 3D 地图,我试图将其作为 X 和 Y 的函数,但希望在它们的某处包含一个随机种子,这样每次都不会相同。我知道您可以使用二元运算符制作这样的噪声函数:
double PerlinNoise::Noise(int x, int y) const
{
int n = x + y * 57;
n = (n << 13) ^ n;
int t = (n * (n * n * 15731 + 789221) + 1376312589) & 0x7fffffff;
return 1.0 - double(t) * 0.931322574615478515625e-9;/// 1073741824.0);
}
但是因为我使用的是 lua 而不是 C++,所以我不能使用任何二元运算符。我尝试了许多不同的东西,但没有一个有效。帮助?