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

Meu jogo de descobrir o número só aceita um chute, e sempre diz que o número secreto é menor, mesmo quando insiro o número 1.

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 o número entre 1 e 10');

function verificarChute() { let chute = document.querySelector('input').value; // value pq é um texto que alguem pôs lá dentro

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);
} else {
    if(chute > numeroSecreto) {
        exibirTextoNaTela('p', 'O número secreto é menor');
    } else {
        exibirTextoNaTela('p', 'O número secreto é menor');
    }
    tentativas++;
    
}

}

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

2 respostas
solução!

Olá Leonardo, tudo bem? O código sempre te retorna "menor", pois você inseriu ela duas vezes. - if(chute > numeroSecreto) { exibirTextoNaTela('p', 'O número secreto é menor'); } else { exibirTextoNaTela('p', 'O número secreto é menor'); Deveria ser primeiro "menor", e na outra linha após o else, você coloca maior.

Testei seu código aqui, e após essa mudança ele funciona corretamente. Se te ajudar, sugiro colocar um "console.log(numeroSecreto);" na 3ª linha para visualizar dentro do console o número aleatório e ir seguindo com os testes! Valeu!

Obrigado Breno Henrique Ribeiro !