Criei a função "endGame" para ser executada caso seja dita a palavra "final" mas, quando o código é executado e dito a palavra "final" ele entra na condição "númeroInválido". Eu fiz o código um pouco diferente do instrutor, não sei se da forma que fiz ele acaba não não entrando nas funções/condições:
function verificaValorValido(chute) {
const numero = +chute
fimDeJogo(numero)
numeroForInvalido(numero)
checarNumeroLimites(numero)
testaChute(numero)
}
function fimDeJogo(chute) {
if (chute.toLowerCase == 'final'){
document.body.innerHTML =`
<h1>Game Over</h1>
<h3>O número secreto era ${numeroAleatorio}
`}
}
function numeroForInvalido(numero) {
if (Number.isNaN(numero)) {
elementoChute.innerHTML += `
<div class="retorno">Valor inválido</div>
`
}
}
function checarNumeroLimites(numero) {
if (numero > maiorValor || numero < menorValor) {
elementoChute.innerHTML += `
<div class="retorno">Seu chute está fora dos limites. Número secreto está entre ${menorValor} e ${maiorValor}</div>
`
}
}
function testaChute(chute) {
if (chute < numeroAleatorio) {
elementoChute.innerHTML += `<div class="retorno">O número secreto é maior <i class="fa-sharp fa-solid fa-arrow-up"></i></div>`
} else if (chute > numeroAleatorio) {
elementoChute.innerHTML += `<div class="retorno">O número secreto é menor <i class="fa-solid fa-arrow-down"></i></div>`
} else if (chute == numeroAleatorio) {
document.body.innerHTML = `
<h2>Você acertou!</h2>
<h3>O número secreto era ${numeroAleatorio}</h3>
<button id="jogar-novamente" class="botao-jogar">Jogar novamente</button>
`
}
}
document.body.addEventListener('click', e => {
if(e.target.id=='jogar-novamente') {
window.location.reload()
}
})