2011-12-30 68 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;