3
respostas

[Dúvida] lista- console

Olá, gostaria de ajuda para entender pq no console aparece somente os números 9 e 7 sendo que digitei os números 5, 7, 8 e 9? não deveriam aparecer todas as tentativas? Obs: meu código está igual ao da aula, fui fazendo junto com a explanação dos instrutores. Insira aqui a descrição dessa imagem para ajudar na acessibilidade

3 respostas

Olá, Erika! Tudo bem?

Para te ajudar da melhor forma possível, preciso dar uma olhada no seu código. Você poderia compartilhá-lo aqui?

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() * 10 + 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(); tentativas = 1; exibirMensagemInicial(); document.getElementById("reiniciar").setAttribute("disabled", true); }

Oi Erika! Tudo bem?

Por que só aparecem 2 números no console?

  1. O console mostra apenas os números sorteados:

    • No seu código, a lista listaDeNumerosSorteados só é atualizada quando um novo número secreto é gerado (na função gerarNumeroAleatorio).
    • Como você está testando no mesmo jogo (sem reiniciar), só aparecem os números sorteados entre diferentes partidas, não as tentativas.
  2. As tentativas não são armazenadas:

    • O código atual não guarda os números que você chutou, apenas compara com o número secreto. Por isso, eles não aparecem no console.

Como ver todos os chutes?

Se você quiser ver todos os números que digitou, pode modificar a função verificarChute para adicionar cada chute a uma lista. Veja como:

let chutesAnteriores = []; // Adicione no início do código

function verificarChute() {
    let chute = document.querySelector("input").value;
    chutesAnteriores.push(chute); // Adiciona o chute à lista
    console.log("Chutes anteriores:", chutesAnteriores); // Mostra no console

    // Restante do seu código...
}

Assim, o console vai mostrar todos os números que você tentou!****

Espero ter ajudado.