0

我正在创建一个基本的修改后的 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' />";

            }
 }
4

1 回答 1

4

您正在使用=而不是==. 这意味着它将运行 1-5 中的每个语句。

if (dice1 = 5){

是相同的

dice1 = 5;
if (dice1){

这将永远是真的。

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' />"
  }
}
于 2013-01-27T04:19:53.070 回答