初学者功能问题JavaScript

时间:2018-07-12 12:32:16

标签: javascript function

我正在尝试创建一个基本的匹配数字游戏。我正在尝试增加剩余尝试的价值,并增加错误的猜测,直到达到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()

1 个答案:

答案 0 :(得分:1)

您在提交处理程序中将remainingTries设置为0,因此每次都会重置。将let remainingTries = 0移动到dragon函数之外。