我正在尝试编写一个程序,让我掷骰子,但我没有运气。我是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>
答案 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)