我是一个非常新的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变量实时更新,因此始终反映正确的数字?
答案 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;