1
resposta

[Bug] ao fazer as alteracoes as informacoes da tela sumiram

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

meu codigo atual:

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;

  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() * 3 + 1);
  let quantitadeDeElementoNaLista = listaDenumerosSorteados.length;

  if (quantitadeDeElementoNaLista == 3) {
    listaDeNumerosSorteados = [];
  }

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

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

function reiniciarJogo() {
  listaDeNumerosSorteados = [];
  numeroSecreto = gerarNumeroAleatorio();
  limparCampo();
  tentativas = 1;
  exibirmensagemInicial();
  document.getElementById("reiniciar").setAttribute("disabled", true);
}
1 resposta

Olá Luciana! Tudo bem?

Primeiro, observei que há um pequeno erro de digitação na função reiniciarJogo. O nome da função exibirmensagemInicial está escrito com um "m" minúsculo, mas a função correta é exibirMensagemInicial. Corrija isso para:

function reiniciarJogo() {
  listaDeNumerosSorteados = [];
  numeroSecreto = gerarNumeroAleatorio();
  limparCampo();
  tentativas = 1;
  exibirMensagemInicial(); // Corrigido aqui
  document.getElementById("reiniciar").setAttribute("disabled", true);
}

Além disso, na função gerarNumeroAleatorio, você está usando a variável listaDenumerosSorteados em vez de listaDeNumerosSorteados. Corrija isso para:

function gerarNumeroAleatorio() {
  let numeroEscolhido = parseInt(Math.random() * 3 + 1);
  let quantitadeDeElementoNaLista = listaDeNumerosSorteados.length; // Corrigido aqui

  if (quantitadeDeElementoNaLista == 3) {
    listaDeNumerosSorteados = [];
  }

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

Esses pequenos erros podem estar impedindo que as informações sejam exibidas corretamente na tela. Faça essas correções e veja se o problema persiste.

Espero ter ajudado e bons estudos!

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