【发布时间】:2022-08-19 04:48:12
【问题描述】:
我正在尝试用 JS 开发一个简单的回合制游戏,我需要让那些战斗交互有一些延迟。
在玩家按下“Battle!”后,我正在使用 setInverval 自动执行所有操作,但是当检查他是否还活着时,我的 clearInterval 不起作用 - 进程仍在后台运行 o_o
const player = {
hp: 0,
state: true
}
const enemy = {
hp: 100,
state: true
}
function checkHp() {
if(player.hp === 0 || enemy.hp === 0){
const start = setInterval(function() {
console.log(\'Checando turnos...\'),
battle()
}, 2000)
return start
} else {
clearInterval(start)
console.log(\'Você precisa descansar!\')
}
}
function battle() {
turn = 0
turn = Math.floor(Math.random () * 2)
console.log(turn)
}
checkHp()
-
start超出范围。它在if语句的一个分支中声明,但您在另一个分支中使用它。
标签: javascript