Math.random重复出现

时间:2013-01-27 04:17:29

标签: javascript html int innerhtml

我正在创建一个基本修改过的Crapps游戏。我正在使用java脚本和HTML。所以它看起来不会很好,但它的目的是教我Java Script。

我还处于起步阶段并遇到障碍。应该发生的是当我点击按钮时这个功能发生了。我的功能发生了它继续滚动2 6,因此骰子显示为6.

除了 6重复出现之外,一切正常。

我经历了代码并且找不到常见的错误 - 确保它应该生成的数字被覆盖,我的基数被覆盖6个数字(1-5)都有工作,我的名字是正确的等我知道我正在调用我的函数,因为每次我希望它去的时候,骰子的图像显示为6。

 function rolldice()
   {
     dice1=Math.floor(Math.random()*6+0);
        if(dice1=0)
            {
             document.getElementById("dice1").innerHTML="<img src='1.jpg' width='100' height='100' />";
            }
        if(dice1=1)
            {
              document.getElementById("dice1").innerHTML="<img src='2.jpg' width='100' height='100' />";

            }
        if(dice1=2)
            {
              document.getElementById("dice1").innerHTML="<img src='3.jpg' width='100' height='100' />";

            }
        if(dice1=3)
            {
              document.getElementById("dice1").innerHTML="<img src='4.jpg' width='100' height='100' />";

            }
        if(dice1=4)
            {
              document.getElementById("dice1").innerHTML="<img src='5.jpg' width='100' height='100' />";

            }
        if(dice1=5)
            {
             document.getElementById("dice1").innerHTML="<img src='6.jpg' width='100' height='100' />";

            }
dice2=Math.floor(Math.random()*6+0);
    if(dice2=0)
            {
             document.getElementById("dice2").innerHTML="<img src='1.jpg' width='100' height='100' />";
            }
        if(dice2=1)
            {
              document.getElementById("dice2").innerHTML="<img src='2.jpg' width='100' height='100' />";

            }
        if(dice2=2)
            {
              document.getElementById("dice2").innerHTML="<img src='3.jpg' width='100' height='100' />";

            }
        if(dice2=3)
            {
              document.getElementById("dice2").innerHTML="<img src='4.jpg' width='100' height='100' />";

            }
        if(dice2=4)
            {
              document.getElementById("dice2").innerHTML="<img src='5.jpg' width='100' height='100' />";

            }
        if(dice2=5)
            {
             document.getElementById("dice2").innerHTML="<img src='6.jpg' width='100' height='100' />";

            }
 }

1 个答案:

答案 0 :(得分:4)

您使用=代替==。这意味着它将运行1-5中的每个语句。

if (dice1 = 5){

相同
dice1 = 5;
if (dice1){

永远都是如此。

在分配随机值FYI时,每个变量之前还应该有var

我会考虑将所有这些代码缩短为:

function rolldice(){
  for (var i = 0; i < 2; i++){
    var roll = Math.floor(Math.random() * 6);
    document.getElementById('dice' + (i + 1)).innerHTML = 
      "<img src='" + (roll + 1) + ".jpg' width='100' height='100' />"
  }
}