我想知道是否有办法在两台机器上同时生成相同的半随机数。这是我目前如何获得我的随机数的一个例子。
var randomValue = generateRandom( -200, 200 );
function generateRandom( min, max )
{
min = Math.ceil( min );
max = Math.floor( max );
return Math.floor( Math.random() * ( max - min + 1 ) + min );
}
我能做的是在两台设备之间发送消息。我不知道这是否有用,因为在函数中调用了randomValue。我想也许我们可以使用计时器或其他东西在两台机器上产生价值。
答案 0 :(得分:2)
生成0到0之间的随机值列表。 1在其中一台机器(" master")上提前使用内置发生器(Math.random()
),与从属设备共享。
只要您需要具体值,请使用当前参数(最小 - 最大范围)中该列表中的下一个数字,并且您在所有计算机上都具有相同的数字。
如果你"用完了"值,生成并传输另一批(再次,提前)。
答案 1 :(得分:0)
使用'seedable'随机数生成器怎么样,Seedable JavaScript random number generator?
中讨论过github上有一个实现:https://github.com/davidbau/seedrandom
答案 2 :(得分:0)
同时在两台机器上生成相同的相同数字。
new Date().getTime()
在给定时间,这个号码在两台机器上是相同的。