2
respostas

Função Limpar

Segui a orientação do professor no vídeo e não consegui limpar o chute. Olhei no Fórum e algumas dicas foi colocar espaço na string (" "), mesmo assim não funcionou, onde estou errando? (p.s.: estou usando aspas duplas porque quebrou o meu óculos, assim identifico melhor essa informação"

let numeroSecreto = gerarNumeroAleatorio();
let tentativas = 1;

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");

function verificarChute() {
    let chute = document.querySelector("input").value;
    
    if ( chute == numeroSecreto) {
        exibirTextoNaTela("h1", "Parabéns!");
        let palavraTentativa = tentativas > 1 ? "tentativas" : "tentativa";
        let mensagemTentativas = `Você descobriu o número secreto em ${tentativas} ${palavraTentativa}`;
        exibirTextoNaTela("p", mensagemTentativas);

      } else {
        if (chute > numeroSecreto) {
            exibirTextoNaTela ("p", "O número secreto é menor");
        } else {
            exibirTextoNaTela ("p", "O número secreto é maior");
        }
        tentativas++;
     }
}

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

function limparCampo() {
    chute = document.querySelector("input");
    chute.value = "";
}
2 respostas

Olá, pedro, como vai?

Na função limparCampo, o campo está sendo selecionado corretamente, mas é importante garantir que ela está sendo chamada no momento certo. Só definir a função não é suficiente, ela precisa ser executada depois da verificação do chute, por exemplo, no final da função verificarChute.

Veja como pode ficar:

function verificarChute() {
    let chute = document.querySelector("input").value;

    if (chute == numeroSecreto) {
        exibirTextoNaTela("h1", "Parabéns!");
        let palavraTentativa = tentativas > 1 ? "tentativas" : "tentativa";
        let mensagemTentativas = `Você descobriu o número secreto em ${tentativas} ${palavraTentativa}`;
        exibirTextoNaTela("p", mensagemTentativas);
    } else {
        if (chute > numeroSecreto) {
            exibirTextoNaTela("p", "O número secreto é menor");
        } else {
            exibirTextoNaTela("p", "O número secreto é maior");
        }
        tentativas++;
        limparCampo(); // chamada da função para limpar o input

    }

}

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

Espero ter ajudado.

Siga firme nos seus estudos e conte com o fórum sempre que precisar.

Abraços :)

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

Muito legal a explicação do Mike, tava me batendoa qui com essa função. Valeu