2011-12-30 34 views
2

我很新的Javascript和我瞎搞试图使一个简单的游戏。基本上,你可以攻击或治疗,你的HP也会相应地上升或下降。以下是我迄今为止:有一个JavaScript变量更新直播

<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的一段,我可以看到它改变,当我点击攻击按钮。然而,它总是50-edmg。即我受到3点攻击,我的HP值为47点。接下来,我受到2点攻击,我的HP值是48而不是45,因为它总是从基数中减去。我怎样才能让myHP变量实时更新并因此始终反映正确的数字?

回答

2

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

myHP = nHP; 

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

+0

感谢。这就是诀窍! – sbatson5 2011-12-30 18:47:29

1

您还没有分配新的健康回myHP变量

myHP -= edmg 
1

您需要更新的健康价值。

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