有一个Javascript变量实时更新

时间:2011-12-30 18:39:20

标签: javascript function variables

我是一个非常新的Javascript,并且正在努力制作一个简单的游戏。基本上,您可以进行攻击或治疗,HP会相应地上升或下降。以下是我到目前为止的情况:

<script type="text/javascript">
var myHP=50;
var eHP=50;
</script>

<script type="text/javascript">
function attack()
{
    var dmg=(Math.floor(Math.random()*11));
    var edmg=(Math.floor(Math.random()*11));
    var nHP=myHP - edmg;

    alert("You deal " + dmg + " damage!");
    alert("You are dealt " + edmg + " damage!");
    document.getElementById("hp").innerHTML=nHP;
}
</script>

所以,我创建了一个id为“hp”的段落,当我点击攻击按钮时,我可以看到它发生了变化。但是,它总是50-edmg。即我被攻击了3,我的HP是47.接下来,我被攻击2,我的HP是48而不是45,因为它总是从基数中减去。如何才能使myHP变量实时更新,因此始终反映正确的数字?

3 个答案:

答案 0 :(得分:2)

您永远不会更新myHP变量。修复可以像添加:

一样简单
myHP = nHP;

作为上一个脚本的最后一行。

答案 1 :(得分:1)

您没有将新的健康状况分配回myHP变量

myHP -= edmg

答案 2 :(得分:1)

您需要更新健康值。

myHP = myHP - edmg;
alert("You deal " + dmg + " damage!");
alert("You are dealt " + edmg + " damage!");
document.getElementById("hp").innerHTML= myHP;