带有种子的过程函数(如道路生成器)



我已经到处找了,但没有找到一个可靠的答案。我正在用AS3开发一款游戏。我在为游戏生成随机地图(2D贴图)时没有任何问题,这基本上是由随机数组成的。我如何获得完全相同的结果,所有的时间传递一个种子参数到我的函数?

function generate(__xt:uint, __yt:uint){
  var rnd:int;
  for (var i:uint=0; i < __xt; i++){
     for(var j:uint=0; j < __yt; j++){
         rnd = Math.round(Math.random());
         ...
     }   
  }
}

Math.random()不支持播种,如果你需要它,你必须实现你自己的PRNG。看看这个答案Seedable JavaScript随机数生成器的JS,这是很容易移植到as3的答案之一。

Grant Skinner开发了一个很棒的生成随机数的库,我推荐使用它,而不是Math.random()

…我决定构建一个基于种子数生成随机数的类。这对于统计、测试和游戏开发(如同步或重玩游戏)等其他用途也很方便。这很简单,因为Flash Player已经有了一种机制,可以根据隐藏在api中的种子(种子)生成一系列随机数(种子)。

相关内容

  • 没有找到相关文章

最新更新