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

[Dúvida] Botão e frases que não funcionam

Boa tarde gente tô travada nessa parte , quando começo a incrementar o código na parte da função reiniciarJogo(); os títulos começam a desaparecer quando resolvo essa questão , as condições de Maior e Menor param de funcionar e o jogo fica travado no "O número Secreto é maior" e não sai disso, além disso o máximo que consegui fazer com o botão de novo jogo foi ficar azul , alguém me dá um help , já Olhei esse código um milhão de vezes" let numeroSecreto = gerarNumAleatorio(); let tentativas = 1;

let numeroSecreto = gerarNumAleatorio();
let tentativas = 1;


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

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


function gerarNumAleatorio(){
return parseInt(Math.random() * 10 + 1);}



function verificarChute(){
let chute = document.querySelector('input').value;
 
if (chute == numeroSecreto){
    exibirTexto('h1','Acertou!');
    let palavraTentativas = tentativas > 1 ? 'Tentativas !' : 'Tentativa!';
    let mensagemTentativas = `Você descobriu o número Secreto com ${tentativas} ${palavraTentativas} `;
    exibirTexto('p',mensagemTentativas);
    document.getElementById('reiniciar').removeAttribute('disabled');
 }
 else {
   if(chute > numeroSecreto){
      exibirTexto('p' ,'O número Secreto é menor');}
   else{
      exibirTexto('p','O número secreto é maior');
      }
      tentativas ++;
      limparCampo();
      
}
     
}
function limparCampo (){
   chute = document.querySelector('input');
   chute.value = '';
}
reiniciarJogo();

function reiniciarJogo (){
numeroSecreto = gerarNumAleatorio;
limparCampo();
tentativas = 1;
exibirMensagemInicial();
document.getElementById('reiniciar').setAttribute('Disabled',true);
}
6 respostas

Oi, Estefany! Tudo bem?

Isso está acontecendo porque logo antes da definição da função reiniciarJogo você está chamando essa função mesmo se a pessoa não clicar no botão. Essa função só deve ser chamada quando a pessoa que for jogar clicar no botão Novo Jogo.

Na definição da função reiniciarJogo dá uma revisada na sintaxe (forma de escrever) da chamada da função gerarNumAleatorio. É um pequeno detalhe que está impedindo essa função de ser chamada quando o botão Novo Jogo é acionado. E a forma como a palavra Disabled tá escrita na última linha dessa função impede que o botão Novo Jogo fique cinza quando o jogo é reiniciado - o HTML não tá reconhecendo o comando só por causa disso.

E na função verificarChute dá uma olhadinha na indentação das chaves que fecham esse else e também na indentação da variável tentativas e da chamada da função limparCampo. Essas chaves de fechamento de if/else ou função, tenta sempre deixar em uma linha sozinha no mesmo nível do if/else/função que fazem parte - é uma "bobeirinha", mas é uma boa prática de programação que facilita a leitura do código (essas práticas são bem vistas no mercado de trabalho).

Parabéns pela evolução!!!

Obs: tentei não dar a resposta em código diretamente para não atrapalhar o seu raciocínio porque acredito que sinalizar sem dar a resposta ajuda mais nesse processo quando estamos estudando, mas se não tiver ajudado, pergunta aqui de novo que posto o trecho de código ao qual me referi ou me chama no Discord da Alura (Thati Moreira).

Um abraço e bons estudos!

. . .

Se esta resposta te ajudou, favor, marcar como solucionado ✓.

Obrigada pela Ajuda! ,vou tentar novamente.

Imagina!

Conseguiu testar?

Se tiver alguma dúvida, não hesite em perguntar, ok?

Bom fim de semana e bons estudos!

Se esta resposta te ajudou, favor marcar como solucionado ✓

solução!

Oi, Estefany!

Funcionou?

Se ainda estiver com dúvidas sobre este assunto, não deixa de compartilhar aqui, por favor. Caso contrário, marque o tópico como solucionado, por gentileza, para não impactar no atendimento aos demais tópicos de colegas que ainda estão com dúvidas, ok? :)

Boa semana e bons estudos!

Sim , funcionou Obrigada!

Imagina! :)