2
respostas

A resposta não está dando certo certo

Quando vou tentar adivinhar o número secreto mesmo sabendo o resultado, não aparece a mensagem que eu coloquei para aparecer. Além disso no console a parte campo.innerHTML = texto; está dando problema.

let númeroSecreto = 7;

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 de 1 a 10');
function verificarChute(){
    let chute = document.querySelector('input').value;
    if(chute == númeroSecreto){
        exibirTextonaTela('hi','Acertou');
        exibirTextonaTela('p','Você descobriu o número secreto!');
    }else{
        if(chute>númeroSecreto){
            exibirTextonaTela('p','O número secreto é menor!');
        }else{
            exibirTextonaTela('p','O número secreto é maior');
        }
    }
}
function gerarNúmeroAleatório() {
    return parseInt(Math.random()*10)+1;
}
2 respostas

Olá, Maria!

Pelo que você descreveu, o problema está em duas partes:

  1. A mensagem de acerto não aparece: Mesmo quando você digita o número correto, a mensagem de acerto não é exibida.

  2. Erro no campo.innerHTML = texto;: Há um problema no console relacionado a essa linha de código.

Identificando os problemas:

  1. Erro na tag hi: Na linha exibirTextonaTela('hi', 'Acertou');, você está tentando selecionar um elemento com a tag hi, mas provavelmente deveria ser h1. Isso impede que a mensagem "Acertou" seja exibida.

  2. Comparação de tipos: A comparação chute == númeroSecreto pode não funcionar corretamente se o chute for uma string e o númeroSecreto for um número. Para garantir que a comparação seja feita corretamente, você pode converter o chute para um número usando parseInt()

Alterações aplicadas:

let númeroSecreto = 7;
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 de 1 a 10');
function verificarChute() {
    let chute = parseInt(document.querySelector('input').value); // Converte para número
    if (chute === númeroSecreto) { // Usa === para comparação estrita
        exibirTextonaTela('h1', 'Acertou'); // Corrige a tag para h1
        exibirTextonaTela('p', 'Você descobriu o número secreto!');
    } else {
        if (chute > númeroSecreto) {
            exibirTextonaTela('p', 'O número secreto é menor!');
        } else {
            exibirTextonaTela('p', 'O número secreto é maior!');
        }
    }
}
function gerarNúmeroAleatório() {
    return parseInt(Math.random() * 10) + 1;
}

Explicação:

  1. exibirTextonaTela('h1', 'Acertou');: A tag hi foi corrigida para h1 para selecionar o elemento correto.

  2. let chute = parseInt(document.querySelector('input').value);: O valor do chute é convertido para um número inteiro usando parseInt().

  3. if (chute === númeroSecreto): A comparação usa === para garantir que os valores e os tipos sejam iguais.

Espero ter ajudado.

Nossa muito obrigada, não tinha percebido que tinha colocado um "i" ao invés do 1.