Olá, Maria!
Pelo que você descreveu, o problema está em duas partes:
A mensagem de acerto não aparece: Mesmo quando você digita o número correto, a mensagem de acerto não é exibida.
Erro no campo.innerHTML = texto;: Há um problema no console relacionado a essa linha de código.
Identificando os problemas:
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.
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:
exibirTextonaTela('h1', 'Acertou');: A tag hi foi corrigida para h1 para selecionar o elemento correto.
let chute = parseInt(document.querySelector('input').value);: O valor do chute é convertido para um número inteiro usando parseInt().
if (chute === númeroSecreto): A comparação usa === para garantir que os valores e os tipos sejam iguais.
Espero ter ajudado.