Olá João! Vamos tentar entender o que está acontecendo!
1: Na função gerarNumeroAleatorio, há um erro de digitação na palavra length. Está escrito lenght, o que pode causar um comportamento inesperado.
2: Ainda na função gerarNumeroAleatorio, a variável listaDeNumeroSorteados está escrita incorretamente quando você tenta adicionar um número a ela. Deveria ser listaDeNumerosSorteados.
3: É uma boa prática declarar todas as variáveis com let ou const para evitar que sejam globais por acidente. Na função limparCampo, a variável chute deve ser declarada com let.
Exemplo da possivel solução
let listaDeNumerosSorteados = [];
let numeroLimite = 10;
let numeroSecreto = gerarNumeroAleatorio();
let tentativas = 1;
function exibirTextoNaTela(tag, texto){
let campo = document.querySelector(tag)
campo.innerHTML = texto;
responsiveVoice.speak(texto, 'Brazilian Portuguese Female', {rate:1.2});
}
function exibirMensagemInicial() {
exibirTextoNaTela('h1' , 'Jogo do número secreto')
exibirTextoNaTela('p' , 'Escolha um número entre 1 e 10')
}
exibirMensagemInicial();
function verificarChute() {
let chute = document.querySelector('input').value;
if(chute == numeroSecreto)
{
let palavraTentativas = tentativas > 1? 'tentativas' : 'tentativa'
let mensagemTentativas = `Você acertou o número secreto com ${tentativas} ${palavraTentativas}`;
exibirTextoNaTela('h1', 'Acertou!');
exibirTextoNaTela('p', mensagemTentativas);
document.getElementById('reiniciar').removeAttribute('disabled')
}else{
if(chute > numeroSecreto){
exibirTextoNaTela ('p', 'O número secreto é menor.');
}else{
exibirTextoNaTela ('p', 'O número secreto é maior.');
}
tentativas++;
limparCampo();
}
}
function gerarNumeroAleatorio() {
let numeroEscolhido = parseInt(Math.random() * numeroLimite + 1 )
let quantidadeDeElementosNaLista = listaDeNumerosSorteados.length; // erro de digitação
if(quantidadeDeElementosNaLista == numeroLimite){
listaDeNumerosSorteados = [];
}
if(listaDeNumerosSorteados.includes(numeroEscolhido)){
return gerarNumeroAleatorio();
}else{
listaDeNumerosSorteados.push(numeroEscolhido) // erro de digitação
console.log(listaDeNumerosSorteados)
return numeroEscolhido;
}
}
function limparCampo() {
let chute = document.querySelector('input'); //declarando a variável chute no escopo da função limparCampo
chute.value = '';
}
function reiniciarJogo() {
numeroSecreto = gerarNumeroAleatorio();
limparCampo();
tentativas = 1;
exibirMensagemInicial()
document.getElementById('reiniciar').setAttribute('disabled', true);
}
Com isso acretido que funcione como esperado.
espero ter ajudado, bons estudos!