1
我正在試驗一個簡單的JavaScript遊戲,它通過龍的「點擊」循環直到龍被殺死。簡單遊戲的無限循環
該遊戲運行良好,但如果結果是一個小姐,即youHit = 0
那麼腳本卡在一個無限循環。我知道無限循環是由最後的else語句造成的,其中slaying = true
(如果爲false,則遊戲停止並且腳本必須再次運行)。我的問題是如何循環瀏覽未命中和命中,而不會陷入無限循環。
var slaying = true
var youHit = Math.floor(Math.random() * 2)
var damageThisRound = Math.floor(Math.random() * 5 + 1)
var totalDamage = 0
var health = 4
while(slaying) {
if (youHit) {
totalDamage += damageThisRound
console.log("You hit for " + totalDamage + " damage");
if (health <= 0) {
console.log('You slayed the dragon!')
slaying = false;
} else {
health -= totalDamage
if (health <= 0) {
slaying = false;
console.log('You slayed the dragon!')
}
else {
slaying = true;
}
}
} else {
console.log("You missed!");
slaying = true;
}
console.log('Health: ' + health)
}