"货币"虚拟赌场中的货币变量不起作用,立即重置

时间:2017-10-24 01:47:45

标签: javascript html

我试图让虚拟赌场用Javascript练习。我已经让轮盘赌工作,所以现在我想添加一个"货币"特征。基本上,玩家以200美元进入赌场,当他或她赌博时,他们的货币金额会发生变化。

这是我尝试做的事情。在文档的html部分,有一个句子写着"你现在有200美元。" 200被括在一个名为" m。"的div中。变量" money"然后从那个句子/ div中取这个数字。当玩家旋转轮盘赌时,钱被减去或加到可变货币上,然后是div的内容" m"相应地改变了。

我希望的是,在玩家转动方向盘之后,这将改写div' m的内容,这反过来会改变变量" money。& #34;但是,这不起作用。这是代码示例:

var money = document.getElementById("m");

function spin(){
  var landing = Math.floor(Math.random() * 4) + 1;   

  var nsvalue = parseInt(document.regular_roulette.num_select.value);

  var betvalue = parseInt(document.regular_roulette.bet.value);

  if (landing === nsvalue) {
    alert("You win $" + betvalue * 3);

    money = money + (betvalue * 3);
  } else {
    alert("You lose $" + betvalue);

    money = money - betvalue;
  }

  document.getElementById("m").innerText = money;
}

//why is it fleeting?  I've seen this before.
        </script>
</head>
<body>

    You currently have $<div id = "m">200</div>

让我们说玩家下注7美元。发生的事情是div&#39; m&#39;会闪现一个数字&#34; -7&#34;或&#34; 21&#34;如果,显示玩家赢了或输了多少,然后立即恢复为200.如果我放了一个&#34; parseInt()&#34;围绕变量&#34; money&#34;的分配,只会导致它闪现&#34; NaN。&#34;即使我放弃了这个概念,只要把#34; var money = 200&#34;,它就会闪现&#34; 193&#34;在返回200之前。

如何使这项工作?如何根据投注结果增加或减少货币变量,并且可以跨越多个旋转?

1 个答案:

答案 0 :(得分:1)

您在文档的头部定义了money,它在<div id="m">可用之前执行。您还要将值设置为元素而不是元素中的文本。结果money未定义。

您需要将其放在onload处理程序中或在关闭正文标记之前。

我不知道你是怎么做的document.regular_roulette,所以这只是使用一个静态值,但它可能有所帮助:

var money

function spin() {
  var landing = Math.floor(Math.random() * 4) + 1;
  var nsvalue = parseInt(10);
  var betvalue = parseInt(10);
  if (landing === nsvalue) {
    document.getElementById('alert').innerHTML = "You win $" + betvalue * 3
    money = money + (betvalue * 3);
  } else {
    document.getElementById('alert').innerHTML = "You lose $" + betvalue
    money = money - betvalue;
  }
  document.getElementById("m").innerText = money;
}
window.onload = function() {
  money = parseInt(document.getElementById("m").innerText);
}
You currently have $
<div id="m">200</div>
<div id="alert"></div>
<button onclick="spin()">spin</button>