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

o código não funciona

o código não esta funcionando corretamente

alguém me ajuda

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

let tentativas = 1;

function exibirNaTela(tag, texto){ let campo = document.querySelector(tag); campo.innerHTML = texto ; } function exibirMensagemInicial () { exibirNaTela('h1','Jogo do Numero Secreto'); exibirNaTela('p', 'Escolha um numero de 1 a 4.');}exibirMensagemInicial();

function verificarChute(){

let chute = document.querySelector('input').value; if( chute == numeroSecreto){ exibirNaTela("h1",'acertou'); let palavraTentativa = tentativas == 1 ? 'tentativa.' : 'tentativas'; let mensagemTentativas = você descobriu o numero secreto em ${tentativas} ${palavraTentativa}; exibirNaTela('p', mensagemTentativas);

document.getElementById('reiniciar').removeAttribute('disabled');

}else if(chute > numeroSecreto){ exibirNaTela('p','O Numero Secreto é Menor.'); }else{ exibirNaTela('p','O Numero Secreto é maior.'); } tentativas++; limparCampo() }

function gerarNumeroAleatorio() {
    let numeroEscolhido = parseInt(Math.random() * numeroLimite + 1);
    let quantidadeDeElementosNalista = listaDeNumerosSorteados.length;

    if (quantidadeDeElementosNaLista == numeroLimite) {
        listaDeNumerosSorteados = [];
        }
}

if(numerosNaLista == 3){ listaDeNumerosSorteados = []; } if(listaDeNumerosSorteados.includes(numeroEscolhido)){ return gerarNumeroAleatorio; }else{ console.log(listaDeNumerosSorteados) listaDeNumerosSorteados.push(numeroEscolhido); return numeroEscolhido; } function limparCampo() { chute = document.querySelector('input'); chute.value = '';

}

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

3 respostas

Há alguns problemas no código que precisam ser corrigidos. Vou listar e explicar cada um deles:

  1. Variável numeroLimite não definida: O código faz referência à variável numeroLimite na função gerarNumeroAleatorio(), mas essa variável não está definida no código. Você precisa adicionar uma declaração para numeroLimite.

  2. Erros de digitação:

    • Na função gerarNumeroAleatorio(), há um erro de digitação em quantidadeDeElementosNalista que deve ser corrigido para quantidadeDeElementosNaLista.
    • Na linha onde você cria a mensagem de tentativas, há um erro de sintaxe na string, onde você deve usar crases (`) em vez de aspas simples ou duplas para permitir a interpolação de strings.
  3. Condições inconsistentes na função gerarNumeroAleatorio(): A lógica das condições no final da função gerarNumeroAleatorio() parece inconsistente e pode causar confusão. Parece que você está tentando reiniciar a lista se houver 3 elementos nela, mas a lógica não está clara.

Aqui está uma versão corrigida do código:

let listaDeNumerosSorteados = [];
let numeroSecreto = gerarNumeroAleatorio();
let tentativas = 1;
const numeroLimite = 4; // Adicione essa linha para definir o limite de números

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

function exibirMensagemInicial() {
    exibirNaTela('h1', 'Jogo do Numero Secreto');
    exibirNaTela('p', 'Escolha um numero de 1 a 4.');
}
exibirMensagemInicial();

function verificarChute() {
    let chute = document.querySelector('input').value;
    if (chute == numeroSecreto) {
        exibirNaTela("h1", 'Acertou');
        let palavraTentativa = tentativas === 1 ? 'tentativa.' : 'tentativas';
        let mensagemTentativas = `Você descobriu o numero secreto em ${tentativas} ${palavraTentativa}`;
        exibirNaTela('p', mensagemTentativas);
        document.getElementById('reiniciar').removeAttribute('disabled');
    } else if (chute > numeroSecreto) {
        exibirNaTela('p', 'O Numero Secreto é Menor.');
    } else {
        exibirNaTela('p', 'O Numero Secreto é maior.');
    }
    tentativas++;
    limparCampo();
}

function gerarNumeroAleatorio() {
    let numeroEscolhido = parseInt(Math.random() * numeroLimite + 1);
    let quantidadeDeElementosNaLista = listaDeNumerosSorteados.length;

    if (quantidadeDeElementosNaLista === numeroLimite) {
        listaDeNumerosSorteados = [];
    }

    if (listaDeNumerosSorteados.includes(numeroEscolhido)) {
        return gerarNumeroAleatorio();
    } else {
        console.log(listaDeNumerosSorteados);
        listaDeNumerosSorteados.push(numeroEscolhido);
        return numeroEscolhido;
    }
}

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

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

console.log(numeroSecreto);

Certifique-se de ajustar conforme necessário e testar para garantir que tudo funcione como esperado.

Obrigado ajudou dms

solução!

Fico feliz em ter te ajudado a esclarecer a dúvida. Fico à disposição!

Abraço,

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!