如何使用两个不同的值单击添加和减去

时间:2014-02-19 13:33:35

标签: javascript html onclick addition subtraction

我正在创建一个游戏,现在作为代码,当我点击攻击时,敌人的力量随机降低,但我想要与玩家相同,但随机值应该与敌人中的那个不同..如果可能,可以在那里aso是一个治疗选项,随机提升球员的力量并减少它,因为敌人仍在攻击

外观(当前):http://amerish.webs.com/amerish/testgame.html

代码:

  <head>
    <script>
    var playerHealth=100;
    var enemyHealth=100;
    var strength=10;
 function begin(){
    document.getElementById'playerhealth').innerHTML= playerHealth;
    document.getElementById('enemyhealth').innerHTML =enemyHealth;
    }


 function hitEnemy(){
    var attack=Math.floor(Math.random()*20 +strength);
    enemyHealth =enemyHealth - attack;
    document.getElementById('damage').innerHTML= attack;
    document.getElementById('enemyhealth').innerHTML =enemyHealth;
    }
</script>

   <body onload="begin()">
    <input type="button" name="doit" id="doit" value="Attack!" 
    onclick="hitEnemy();">
    <br /
<span>playerhealth</span>
    <div style="font-ize:3em;"id="playerhealth"></div>
    <span>enemyhealth</span>
    <div style="font-size:3em;"id="enemyhealth"></div>
    <br />
    <span>You Did:</span><span style="font-size:3em;"id="damage"></span>  
 <span>damage</span>
 </body>

1 个答案:

答案 0 :(得分:1)

这个问题看起来像是家庭作业,你自己编写代码到目前为止了吗?如果你没有,请尝试阅读它,并了解每个函数正在做什么以及从何处调用它。


  

随机值应与敌人中的值不同

问:如何生成随机整数?

答:这是一个生成伪随机整数的通用函数

function rand_int(max, min) {
    min = min | 0;
    if (max === (max | 0))
        if (max < min)
            throw new RangeError("Range cannot be negative [" + min + '..' + max + ']');
        else
            return min + Math.floor(Math.random() * (max - min + 1));
    throw new TypeError("Expected Integer for max but recieved: " + max);
}

说明:随机数来自Javascript自己的Math.random,它位于0和(但不等于)1之间。 x | 0用于将变量转换为32位整数。 Math.floor用于通过始终“向下舍入”将浮点数更改为整数。对于正数和负数

的分布,它比x | 0效果更好
  

可以作为随机提升球员力量的治疗选择

问:如何为玩家的健康状况添加随机数?

答:制作第二个<input> 类型按钮会导致以下情况发生

playerHealth += rand_int(10); // add between 0 and 10

  

并且因为敌人仍在攻击而减少它

问:我在哪里为敌人转弯代码?

答:制作功能 hitEnemy的副本,将其重命名为hitPlayer,并将其中enemy的所有出现更改为player 。然后在调用hitEnemy后调用它,例如

<input
    type="button" name="doit" id="doit"
    value="Attack!" onclick="hitEnemy();hitPlayer();"
/>