1
resposta

[Dúvida] Erro no código, no jogo do número secreto

Esse código abaixo o que eu fiz é da aula 3 do curso Lógico de programação: explore funções e listas, mas eu só consigo chutar um valor na caixa, aí tenho que ficar recarregando a página, mas aí já mudou o número. Eu segui passo a passo da aula. alquém sabe o que está errado?

let numeroSecreto = gerarNumeroAleatorio function gerarNumeroAleatorio() { parseInt(Math.random()*10+1) }

function verificarNumero() { let chute= document.querySelector('input').value

if (chute==numeroSecreto) { exibirTextoNaTela("h1", 'Acertou') } else{ if (chute>numeroSecreto) { exibirTextoNaTela('p', 'O número secreto é menor') } else { exibirTextoNaTela('p', 'O número secreto é maior') } }

}

function exibirTextoNaTela(tag,texto) { let campo=document.querySelector(tag) campo.innerHTML= texto; } exibirTextoNaTela("h1", 'Jogo do número secreto') exibirTextoNaTela('p','Escolha um número entre 1 e 10')

1 resposta

Olá Misael! Tudo bem?

No seu código, a função gerarNumeroAleatorio não está sendo chamada corretamente para atribuir um valor à variável numeroSecreto. Além disso, você precisa garantir que o número secreto seja gerado apenas uma vez e não a cada verificação.

Aqui está uma sugestão de como você pode corrigir isso:

let numeroSecreto = gerarNumeroAleatorio();

function gerarNumeroAleatorio() {
   return parseInt(Math.random() * 10 + 1);
}

function verificarNumero() {
    let chute = document.querySelector('input').value;

    if (chute == numeroSecreto) {
        exibirTextoNaTela("h1", 'Acertou');
    } else {
        if (chute > numeroSecreto) {
            exibirTextoNaTela('p', 'O número secreto é menor');
        } else {
            exibirTextoNaTela('p', 'O número secreto é maior');
        }
    }
}

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

exibirTextoNaTela("h1", 'Jogo do número secreto');
exibirTextoNaTela('p', 'Escolha um número entre 1 e 10');

Note que agora a função gerarNumeroAleatorio() é chamada corretamente com parênteses, o que faz com que o número secreto seja gerado uma vez e armazenado na variável numeroSecreto.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.