Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

[Dúvida] função limparCampo

Olá, não estou conseguindo utilizar a função limparCampo. Já tentei diversas soluções que estão no fórum, mas nenhuma surtiu efeito nem mesmo a apresentada na aula. Peço ajuda a alguém que saiba solucionar o problema.

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', 'Acertou!');
            let palavraTentativa = tentativas > 1 ? 'tentativas' : 'tentativa';
            let mensagemTentativas = `Você acertou o número secreto com ${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 = '';
    }
4 respostas

Oi, Manuelly

Coloque seu HTML

solução!

O HTML segue abaixo

<!DOCTYPE html>
<html lang="pt-br">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="https://code.responsivevoice.org/responsivevoice.js"></script>
    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link href="https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@700&family=Inter:wght@400;700&display=swap"
        rel="stylesheet">
    <link rel="stylesheet" href="style.css">
    <title>JS Game</title>
</head>

<body>

    <div class="container">
        <div class="container__conteudo">
            <div class="container__informacoes">
                <div class="container__texto">
                    <h1></h1>
                    <p class="texto__paragrafo"></p>
                </div>
                <input type="number" min="1" max="10" class="container__input">
                <div class="chute container__botoes">
                    <button onclick="verificarChute()" class="container__botao">Chutar</button>
                    <button onclick="" id="reiniciar" class="container__botao" disabled>Novo jogo</button>
                </div>
            </div>
            <img src="./img/ia.png" alt="Uma pessoa olhando para a esquerda" class="container__imagem-pessoa" />
        </div>
    </div>




    <script src="app.js" defer></script>
</body>

</html>

Oi, Manuelly

Pensei q tivesse criado um botão só para limpar

Então, vc tem que chamar a função limparCampo() quando for Chutar

3 opções q vc pode usar:

1 -


function verificarChute() {
  let chute = document.querySelector('input').value;  
  limparCampo(); // limpar
    
  if (chute == numeroSecreto) {
    exibirTextoNaTela('h1', 'Acertou!');
    let palavraTentativa = tentativas > 1 ? 'tentativas' : 'tentativa';
    let mensagemTentativas = `Você acertou o número secreto <b> ${chute} </b>, com ${tentativas} ${palavraTentativa}`;
    exibirTextoNaTela('p', mensagemTentativas);
  } else {
    if (chute > numeroSecreto) {
      exibirTextoNaTela('p', 'O número secreto é menor que ' + chute);
    } else {
      exibirTextoNaTela('p', 'O número secreto é maior que ' + chute);
    }
    tentativas++;    
  }
}

2 -


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

  if (chute == numeroSecreto) {
    exibirTextoNaTela('h1', 'Acertou!');
    let palavraTentativa = tentativas > 1 ? 'tentativas' : 'tentativa';
    let mensagemTentativas = `Você acertou o número secreto <b> ${chute} </b>, com ${tentativas} ${palavraTentativa}`;
    exibirTextoNaTela('p', mensagemTentativas);
  } else {
    if (chute > numeroSecreto) {
      exibirTextoNaTela('p', 'O número secreto é menor que ' + chute);
    } else {
      exibirTextoNaTela('p', 'O número secreto é maior que ' + chute);
    }
    tentativas++;
    limparCampo(); // limpa apenas quando erra
  }
}

3 -


<button onclick="verificarChute(); limparCampo();" class="container__botao">Chutar</button>

Muito obrigada pela a ajuda. Eu estava com muita dificuldade, mas opções oferecidas auxiliaram bastante na resolução do exercício.