JavaScript Math.random()函数返回0到1之间的随机值,根据当前时间自动播种(类似于Java我相信).但是,我认为没有办法为你设置自己的种子.
如何创建一个随机数生成器,我可以提供自己的种子值,以便我可以生成一个可重复的(伪)随机数序列?
我目前正在使用JavaScript制作康威的生命游戏,我注意到函数Math.random()总是返回某种模式.以下是100x100网格中随机结果的示例:

有谁知道如何获得更好的随机数字?
ApplyRandom: function() {
var $this = Evolution;
var total = $this.Settings.grid_x * $this.Settings.grid_y;
var range = parseInt(total * ($this.Settings.randomPercentage / 100));
for(var i = 0; i < total; i++) {
$this.Infos.grid[i] = false;
}
for(var i = 0; i < range; i++) {
var random = Math.floor((Math.random() * total) + 1);
$this.Infos.grid[random] = true;
}
$this.PrintGrid();
},
Run Code Online (Sandbox Code Playgroud)
[UPDATE]
我在这里创建了一个jsFiddle:http://jsfiddle.net/5Xrs7/1/
[UPDATE]
似乎Math.random()毕竟是好的(感谢raina77ow).对不起人!:(.如果你对结果感兴趣,这里是游戏的更新版本:http://jsfiddle.net/sAKFQ/
(但我认为还有一些漏洞......)