我正在创建一个游戏,现在作为代码,当我点击攻击时,敌人的力量随机降低,但我想要与玩家相同,但随机值应该与敌人中的那个不同..如果可能,可以在那里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>
答案 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();"
/>