- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试构建一个脚本集,随机生成 1 到 6 之间的数字,并仅在浏览器中显示该数字。一开始可以设置间隔值。我有一个代码可以完全满足我的要求。唯一的问题是区间不平滑。它不知何故结结巴巴。有人知道如何改进随机数流畅显示的代码吗?
<html>
<body>
<p style="font-size: 500; color: red; text-align: center" id="random_number"></p>
<script>
var interval = parseInt(prompt("Intervall [ms]:", ""));
fRandomNumbers(1,6);
window.setInterval(function(){fRandomNumbers(1,6)}, interval);
function fRandomNumbers(min,max)
{
var random_number = Math.floor( Math.random() * ( max - min + 1 ) ) + min;
document.getElementById("random_number").innerHTML = random_number;
}
</script>
</body>
</html>
最佳答案
就像 @CoreyOgburn 和 @Iwburk 指出的那样,问题是有时你会得到相同的数字:
You have a one in six chance of selecting the same number two times in a row and when that happens it looks like the number didn't change.
然后,要解决这个问题,只需确保新的随机数与前一个不同即可:
var interval = parseInt(prompt("Intervall [ms]:", "")),
random_number;
fRandomNumbers(1,6);
window.setInterval(function(){fRandomNumbers(1,6)}, interval);
function rand(min,max,diff) {
var n;
while(diff === (n = Math.floor( Math.random() * ( max - min + 1 ) ) + min)){}
return n;
}
function fRandomNumbers(min,max)
{
random_number = rand(min,max,random_number);
document.getElementById("random_number").innerHTML = random_number;
}
警告 1:上面的 rand
函数可能会产生无限循环,例如如果像 rand(1,1,1)
警告 2:请注意,生成的数字序列不会是随机的,因为(足够大的)真正的随机序列将包含一些相等的相邻数字。然后,正如 @CoreyOgburn 指出的那样,它不能很好地模拟骰子。
关于javascript - Setinterval 口吃生成随机数序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20712496/
我刚开始在android中进行游戏开发,并且正在开发一款 super 简单的游戏。 游戏基本上就像飘扬的小鸟。 我设法使所有工作正常进行,但是却遇到了很多困难和滞后。 我用于测试的手机是LG G2,因
我有自己的 TrackRenderer 实现,用于我集成的 mp3 解码器。当 Lollipop 设备进入待机状态并返回时,它并不总是可重复的,但音频开始断断续续,直到我强制停止应用程序。 一开始,我
学习使用自动布局计算动态表格 View 单元格高度的有效方法。遇到滚动表格 View 时的问题,它开始有点卡顿,这很烦人。有时向上滚动时会卡顿很多,但这可能与我的演示核心数据代码有关。 This视频演
我有一些基于用户滚动的功能,它们会沿着页面上下移动元素(模仿滚动效果)。 为了让它更平滑一些,我正在使用 transition: transform 0.7s cubic-bezier(0.49, 0
我是一名优秀的程序员,十分优秀!