Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Não dá pra chutar o número e nem aparece se é menor ou maior

Esse é o meu código até o momento:

let listaDeNumerosSorteados = [];
let numeroSecreto = gerarNumeroAleatorio();
let tentativas = 1;

function exibirTextoNaTela(tag, texto) {
let campo = document.querySelector(tag)
campo.innerHTML = texto
}

function exibirMensagemInicial() {
exibirTextoNaTela('h1', 'Jogo do número secreto');
exibirTextoNaTela('p', 'Escolha um número entre 1 e 10');
}

exibirMensagemInicial();

function verificarChute() {
let chute = document.querySelector('input').value;
console.log(chute == numeroSecreto);
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);
document.getElementById('reiniciar').removeAttribute('disabled');
} else {
if (chute > numeroSecreto) {
exibirTextoNaTela('p', 'O número secreto é menor');
} else {
exibirTextoNaTela('p', 'O número secreto é maior');
}
tentativas++;
limparCampo()
}
}

function gerarNumeroAleatorio() {
let numeroEscolhido = parseInt(Math.random() * 10 + 1);
if(listaDeNumerosSorteados.inludes(numeroEscolhido)) {
return gerarNumeroAleatorio();
} else{
listaDeNumerosSorteados.push(numeroEscolhido)
console.log(listaDeNumerosSorteados)
return numeroEscolhido;
}
}

function limparCampo() {
chute = document.querySelector('input');
chute.value = '';
}

function reiniciarJogo() {
numeroSecreto = gerarNumeroAleatorio();
limparCampo();
tentativas = 1;
exibirMensagemInicial();
document.getElementById('reiniciar').setAttribute('disabled',
true)
}

1 resposta
solução!

Oi, Miguel! Como vai?

Do jeito que você explicou, o problema está na palavra inludes, que deveria ser includes. Isso impede o jogo de funcionar corretamente. Também reparei que sua interpolação de string em mensagemTentativas está sem crase.

Uma dica interessante para o futuro é usar o método Number() para garantir que o valor do input seja numérico. Veja este exemplo:


let valor = Number(prompt('Digite um valor:'));
console.log(valor);

Esse código converte a entrada para número antes de usar.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!