掷骰子JavaScript

时间:2014-11-24 23:52:51

标签: javascript

我正在尝试编写一个程序,让我掷骰子,但我没有运气。我是JavaScript的新手,我不确定我做错了什么。

    random1 = Math.floor((Math.random()*6)+1; /*holds random number from 1 to 6*/
    random2 = Math.floor((Math.random())*6)+1;

    firstname = "dice" + random1 + ".jpg";
    secondname = "dice" + random2 + ".jpg";

    var first = new Image();
    first.src = firstname;

    var second = new Image();
    second.src = secondname;

    document.getElementById('dicea').src=first.src;
    document.getElementById('diceb').src=second.src;

    if (random1==0 && random2 ==0)
    {
        document.getElementById("sometext").innerHTML = "Doubles!You get a free turn";
    }
    else
    {
        document.getElementById("sometext").innerHTML = "You Lose";
    }
}
</script>
</head>
<body>
    <img src="dice0.jpg" id="dicea" width="100" height="100" alt="dice" />
    <img src="dice0.jpg" id="diceb" width="100" height="100" alt="dice" />
<div id="sometext">Blah blah blah</div>

<button type="button" onclick="rolldice()">Roll Dice</button>
</body>

3 个答案:

答案 0 :(得分:0)

我想你可能意味着

if (random1 == random2)

而不是

if (random1 == 0 && random2 == 0)

因为random1和random2将始终在1到6之间,从不0

答案 1 :(得分:0)

“random1 = Math.floor((Math.random()* 6)+ 1;”行在结束分号前缺少右括号。

random1和random2都不能为0,因此“if”语句永远不会为真。

答案 2 :(得分:0)

这里有无与伦比的括号:

random1 = Math.floor((Math.random()*6)+1;

删除一个:

random1 = Math.floor(Math.random()*6)+1;

第二行在括号匹配时起作用,但您可以删除它们中的一对。

在将图像源复制到现有图像之前,您正在创建仅用于保持图像源一段时间的图像对象。您可以立即将源放在正确的图像中:

document.getElementById('dicea').src = firstname;
document.getElementById('diceb').src = secondname;

此行中的条件永远不会成立,因为这两个变量都不会为零:

if (random1==0 && random2 ==0)

我认为您打算检查变量中的值是否相同:

if (random1 == random2)