1
resposta

Erro ao clicar no chute

Quando eu clico em chute aparece apenas a informação de botão clicou mas não gerou o número secreto.
JS:

let numeroSecreto = gerarNumeroAleatorio();

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 100');

function verificarChute() {
  console.log('O botão foi clicado!');
}

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

HTML:

<!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>Adivinhe o <span class="container__texto-azul">numero secreto</span></h1>
                    <p class="texto__paragrafo">Escolha um número entre 1 a 10</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>
1 resposta

Olá, Pedro, como vai?

No seu código, o botão está funcionando corretamente, pois ao clicar a função verificarChute() é executada e o console exibe a mensagem “O botão foi clicado”. Isso indica que o evento de clique está ligado ao botão sem problemas.

O número secreto, no entanto, não é exibido porque ele está sendo apenas armazenado na variável numeroSecreto no momento em que o script é carregado. Não existe ainda nenhuma instrução dentro da função verificarChute() que utilize esse valor, seja para mostrar na tela, seja para comparar com o número digitado no input.

Você pode testar a geração do número dentro do clique assim:

function verificarChute() {
  console.log('O botão foi clicado!');
  console.log(numeroSecreto);
}

Ao abrir o console do navegador e clicar no botão, o número secreto gerado será exibido. Assim você confirma que a função gerarNumeroAleatorio() está funcionando.

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