Javascript投掷3个骰子甚至传播

时间:2017-10-28 10:36:03

标签: javascript

模拟投掷3个骰子。尝试使用

function getRandomInt(min, max) {
    return Math.floor(Math.random() * (max - min + 1)) + min;
}
function dorand2(){
    document.getElementById("chng").innerHTML = '';
    var odice = document.getElementById("dice");

    var r1 = getRandomInt(1, 6);
    var r2 = getRandomInt(1, 6);
    var r3 = getRandomInt(1, 6);
    odice.innerHTML = "Dice A : " + r1 + "      Dice B : " + r2  + "      Dice C : " + r3;
}

在多次尝试中获得1或更多的相同数字。我确定它甚至跨越运行。但是看起来很奇怪,3个骰子中的两个,其中两个得到5个,然后下一轮两个中有2个...很少都是3个不同。会期望他们至少有一半的时间不同吗?

工作样本: http://sel2in.com/pages/prog/html/dice/

1 个答案:

答案 0 :(得分:0)

不要过度复杂,只需要使用Math.floor(Math.random()* 6 + 1 如下所示:

<!DOCTYPE html>
<html>
<head>
    <script>
        function getRandInt() {
            document.getElementById("container1").innerHTML = Math.floor(Math.random() * 6+1); 
            document.getElementById("container2").innerHTML = Math.floor(Math.random() * 6+1);
            document.getElementById("container3").innerHTML = Math.floor(Math.random() * 6+1);
        }

    </script>
</head>
<body>
    <button type="button" onclick="getRandInt()">Throw</button>
    <p id="container1"></p>
    <br/>
    <p id="container2"></p>
    <br/>
    <p id="container3"></p>
</body>
</html>

希望这会有所帮助:)