出于某些原因doesItHit
和doTheyHit
似乎总是在执行,而dealDamage
对全局变量没有任何作用。
var hitPercentage=Math.floor(Math.random() * 101) + 1
function doesItHit(){
if(toHit * hitPercentage >= enemyEvasion){itHits = true}
else("You miss.")
}
function doTheyHit(){
if(enemyToHit * (Math.floor(Math.random() * 101) + 1) >= evasion){enemyToHit = true}}
function dealDamage(){enemyHealth= enemyHealth-lasers;}
function recieveDamage(){health= health - enemyLasers;}
function playerTurn(){
doesItHit();
if (itHits===true){
dealDamage()
console.log("You deal "+ lasers + " points of damage to the enemy.")
lasersFired=false
}
}
答案 0 :(得分:5)
这是因为你的代码实际上没有改变任何东西。在dealDamage
中你有一个你不想要的额外分号。
试试这个:
function dealDamage(){
enemyHealth = enemyHealth - lasers;
}
(假设您要从lasers
中减去enemyHealth
的值)
另一方面,你的recieveDamage
功能也不会做任何事情,但是不清楚你打算做什么,所以我不能提出任何建议。
答案 1 :(得分:0)
你没有形成正确的表达,所以你的dealDamge永远不会因错误的表达而造成伤害:
enemyHealth= enemyHealth;-lasers;
你这个:
enemyHealth= enemyHealth-lasers;