我正在尝试创建一个基本的匹配数字游戏。我正在尝试增加剩余尝试的价值,并增加错误的猜测,直到达到10,然后console.log('Game over')。
我正在尝试使用三元运算符和箭头函数来执行此操作。 就目前而言,我的remaningTries的价值不会增加。谁能解释为什么?提前致谢。
let randomNum = Math.random()
let remainingTries = 0
randomNum = Math.floor(randomNum * 100)
console.log(randomNum)
gameOver = function() {
}
dragon = function() {
document.querySelector('.gF').addEventListener('submit', function(e) {
e.preventDefault()
let number = e.target.elements.guess.value
rt = (go) => go++
if (number == randomNum) {
let text = document.createElement('p')
text.textContent = `You won, congrats. The number was ${number}`
document.querySelector('.text').appendChild(text)
document.querySelector('.fish').setAttribute('disabled', true, '.disabled', true)
let again = document.createElement('button')
again.textContent = 'Another round?'
again.value = "refreshPage"
again.onclick = () => location.reload()
document.querySelector('.text').appendChild(again)
}
else if (number > randomNum) {
let lower = document.createElement('p')
lower.textContent = `The number is too high. (${number})`
document.querySelector('.text').appendChild(lower)
remainingTries < 10 ? rt(remainingTries) : console.log('Game over :(')
console.log(remainingTries)
} else if (number < randomNum) {
let higher = document.createElement('p')
higher.textContent = `The number is too low. (${number})`
document.querySelector('.text').appendChild(higher)
remainingTries <= 10 ? rt(remainingTries) : console.log('Game over :(')
console.log(remainingTries)
} else {
let other = document.createElement('p')
other.textContent = `Please enter a number. You entered ${number}.`
document.querySelector('.text').appendChild(other)
remainingTries <= 10 ? rt(remainingTries) : console.log('Game over :(')
}
})
}
dragon()
答案 0 :(得分:1)
您在提交处理程序中将remainingTries
设置为0,因此每次都会重置。将let remainingTries = 0
移动到dragon
函数之外。