在JavaScript中生成多个随机数

时间:2013-04-05 20:28:22

标签: javascript random

我正在尝试为轮盘赌系统编写一个脚本,我希望脚本能够运行直到 bank 变量达到0或11,000,并在每次旋转后产生三个数据。

为了简单起见,我已将部分代码留下了。 if else语句中的代码不是问题。运行脚本直到变量达到某一点是我被困住的地方。

有人能帮我改写这个脚本吗?提前谢谢。

(function() {
  var bank = 10000;
  var bet = 1;

  function spin() {
    var number = Math.floor(Math.random() * 36);

    if ( number == 0 ) {
      document.write("<p>The number " + number + " is neither high nor low.</p>");
      // removed
    } 
    else if ( number > 18 ) {
      document.write("<p>The number " + number + " is a high number.</p>");
      // removed
    }
    else {
      document.write("<p>The number " + number + " is a low number.</p>");
      // removed
    }
  };

  spin();

  document.write("<p>Total bank is now " + bank + ".</p>");
  document.write("<p>The next bet is " + bet + ".</p>");

})();

1 个答案:

答案 0 :(得分:0)

如果您在页面中调用此循环(即您不希望页面在此期间挂断,或者想要显示结果),则应使用requestAnimationFrame

window.requestAnimFrame = (function(){
  return  window.requestAnimationFrame       ||
          window.webkitRequestAnimationFrame ||
          window.mozRequestAnimationFrame    ||
          function( callback ){
            window.setTimeout(callback, 1000 / 60);
          };
})();

然后将您的循环设置为仅在银行处于您接受的范围内时自行调用:

function spinLoop() {
    spin();

    //perform your UI updates here

    if (bank >= 0 && bank <= 11000) requestAnimFrame(spinLoop);
}

当然,您最初需要调用此函数来启动循环:

spinLoop();
相关问题