Обновление переменной Javascript в реальном времени - PullRequest
2 голосов
/ 30 декабря 2011

Я очень новый 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>

Итак, я создаю абзац с идентификатором «hp» и вижу, как он меняется, когда я нажимаю кнопку атаки.Тем не менее, это всегда делает 50-EDMG.То есть на меня нападают на 3, мой HP - 47. Затем на меня нападают на 2, мой HP - 48, а не 45, потому что он всегда вычитается из базы.Как сделать так, чтобы переменная myHP обновлялась в реальном времени и поэтому всегда отображала правильное число?

Ответы [ 3 ]

2 голосов
/ 30 декабря 2011

Вы никогда не обновляете переменную myHP.Исправление может быть так же просто, как добавление:

myHP = nHP;

в качестве последней строки вашего последнего скрипта.

1 голос
/ 30 декабря 2011

Вам необходимо обновить значение здоровья.

myHP = myHP - edmg;
alert("You deal " + dmg + " damage!");
alert("You are dealt " + edmg + " damage!");
document.getElementById("hp").innerHTML= myHP;
1 голос
/ 30 декабря 2011

Вы не назначаете новое здоровье обратно переменной myHP

myHP -= edmg
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...