取两个数学值并将其添加到循环中

时间:2019-06-10 10:53:00

标签: javascript arrays

我必须做一个骰子游戏,在其中我将两个骰子的值相加并得出和。如果两个骰子都以相同的数字结尾(例如2和2,即4),则您将获得另一回合,然后再次掷骰子,并将2个新数字添加到先前的总和中(如前面提到的4个)。 例如 - 第一次尝试3和3,总和为6。 第2次尝试4和5,总和为6 + 4 + 5 = 15

我能够正确计算出第一个总和,但是随后的数字有时甚至被弄乱了,甚至给了两倍。

function oneRandom(){
    var my1 = Math.floor(Math.random() * 6 ) +1 ;   
    var my2 = Math.floor(Math.random() * 6 ) +1 ;
     var num1 = Number(my1);
    var num2 = Number(my2);

    var sum = num1 + num2;
    console.log(sum);
    var resultfield = document.getElementById("total").innerHTML = "<h1>"+sum+"</h1>";

    document.getElementById("cilc").style.display = "none";
    if (getImage.src == get2.src){
        document.getElementById("cilc").style.display = "block";
        var sum2 = num1 + num2;
        var total = sum2 + sum;
    var resultfield = document.getElementById("total").innerHTML = "<h1>"+total+"</h1>";
    }

}

getImage和get2是与骰子图像匹配的数组,以在加载相同数字的情况下又转一圈。

1 个答案:

答案 0 :(得分:0)

您可以尝试一下,

function rollDice (times) {
    var num1 = Math.floor(Math.random() * Math.floor(6));
    var num2 = Math.floor(Math.random() * Math.floor(6));
    console.log(times, num1, num2);
    var total = num1 + num2;
    return num1 === num2 ? total + rollDice(times + 1) : total;
}

console.log(`result is ${rollDice(0)}`);