1
resposta

console nao mostra a lista e dá erro

Meu código let listaDeNumerosSorteados = []; let numeroSecreto = gerarNumeroAleatorio(); let tentativas = 1;

function exibirTextoNaTela(tag, texto) { let campo = document.querySelector(tag); campo.innerHTML = texto; }

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) {
    exibirTextoNaTela('h1', 'Acertou!');
    let palavraTentativa = tentativas > 1 ? 'tentativas' : 'tentativa';
    let mensagemTentativas = `Você descobriu o número secreto com ${tentativas} ${palavraTentativa}!`;
    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() * 4 + 1); if(listaDeNumerosSorteados.includes(numeroEscolhido)){ return gerarNumeroAleatorio(); } else { listaDeNumerosSorteados.push(numeroEscolhido); console.log(listaDeNumerosSorteados); return numeroEscolhido(); }

function limparCampo() { chute = document.querySelector('input'); chute.value = ''; }

function reiniciarJogo() { numeroSecreto = gerarNumeroAleatorio(); limparCampo(); tentativas = 1; exibirMensagemInicial(); document.getElementById('reiniciar').setAttribute('disabled', true) }

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá, Glória! Tudo bem?

Teve alguns erros que notei em seu código, mas não se preocupe, vou corrigi-los abaixo!

  • O primeiro erro que notei ao analisar seu código, foi que ao retornar o numeroEscolhido na função gerarNumeroAleatorio(), você o retornou como uma função, e não uma variável! Portanto, para corrigir esse erro, apenas retire os parênteses da frente da variável numeroEscolhido!
function gerarNumeroAleatorio() { 
    let numeroEscolhido = parseInt(Math.random() * 4 + 1); 
    if(listaDeNumerosSorteados.includes(numeroEscolhido)){ 
        return gerarNumeroAleatorio(); 
    } else { 
        listaDeNumerosSorteados.push(numeroEscolhido); 
        console.log(listaDeNumerosSorteados); 
        return numeroEscolhido; 

    }
}
  • O segundo erro que notei, foi que algumas funções não estão devidamente fechadas com as chaves ({})! Portanto, se atente ao fechamento delas, pois isso pode ocasionar em muitos erros!

  • E um último erro que corrigi, que foi exibido no console ao testar seu código, foi que a variável 'chute' não estava definida. Para corrigir isso apenas declarei ela no início do código!

let listaDeNumerosSorteados = []; 
let numeroSecreto = gerarNumeroAleatorio();
let chute = '';
let tentativas = 1;

function exibirTextoNaTela(tag, texto) { 
    let campo = document.querySelector(tag); 
    campo.innerHTML = texto;
}

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) {
    exibirTextoNaTela('h1', 'Acertou!');
    let palavraTentativa = tentativas > 1 ? 'tentativas' : 'tentativa';
    let mensagemTentativas = `Você descobriu o número secreto com ${tentativas} ${palavraTentativa}!`;
    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() * 4 + 1); 
    if(listaDeNumerosSorteados.includes(numeroEscolhido)){ 
        return gerarNumeroAleatorio(); 
    } else { 
        listaDeNumerosSorteados.push(numeroEscolhido); 
        console.log(listaDeNumerosSorteados); 
        return numeroEscolhido; 

    }
}

function limparCampo() { 
    chute = document.querySelector('input'); 
    chute.value = ''; 
}

function reiniciarJogo() { 
    numeroSecreto = gerarNumeroAleatorio(); 
    limparCampo(); tentativas = 1; 
    exibirMensagemInicial(); 
    document.getElementById('reiniciar').setAttribute('disabled', true); 
}

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Com essas alterações pequenas, seu código deve funcionar corretamente. Mas caso ainda dê erro no console, compartilhe aqui novamente para acharmos outra solução!

Espero ter ajudado nas suas dúvidas, e bons estudos!