Fiz tudo igual ao que foi passado na aula, mas o botão de iniciar jogo não fica disponível depois de acertar o número. Qual o problema? Aqui está o código:
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Fiz tudo igual ao que foi passado na aula, mas o botão de iniciar jogo não fica disponível depois de acertar o número. Qual o problema? Aqui está o código:
Oi Beatriz, tudo bem? 😊
Analisando o seu código, identifiquei que o problema está na função verificarChute(). 💡
Na linha 26, você está removendo o atributo disabled do botão "Reiniciar" apenas quando o jogador acerta o número secreto, o que impede que o jogo seja reiniciado após uma tentativa incorreta.
Para corrigir isso, você pode mover a linha document.getElementById('reiniciar').removeAttribute('disabled'); para dentro da função reiniciarJogo(). 🌍
Dessa forma, o botão "Reiniciar" será habilitado sempre que o jogo for reiniciado.
function reiniciarJogo() {
numeroSecreto = gerarNumeroAleatorio();
limparCampo();
tentativas = 1;
exibirMensagemInicial();
document.getElementById('reiniciar').removeAttribute('disabled');
}
Com essa alteração, o jogo deverá reiniciar corretamente após o jogador acertar o número secreto. 👍
🎓 Para saber mais:
Espero ter ajudado e bons estudos! 🤗
Oii, entendi! Mas e se eu quiser fazer com que a possibilidade de começar um novo jogo (o botão reiniciar) só exista depois de uma tentativa correta, quando o jogador acertar o número secreto mesmo? Aí como eu poderia reescrever o meu código?
Beatriz,
Para que o botão "Reiniciar" só fique disponível após o jogador acertar o número secreto, você pode fazer o seguinte:
document.getElementById('reiniciar').removeAttribute('disabled'); dentro do bloco if da função verificarChute(), que é executado quando o jogador acerta o número.reiniciarJogo(), adicione a linha document.getElementById('reiniciar').setAttribute('disabled', true); para desabilitar o botão novamente no início de um novo jogo.Com essas alterações, o botão "Reiniciar" só será habilitado quando o jogador acertar o número secreto e será desabilitado novamente quando o jogo for reiniciado. 👍
Exemplo:
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 reiniciarJogo() {
numeroSecreto = gerarNumeroAleatorio();
limparCampo();
tentativas = 1;
exibirMensagemInicial();
document.getElementById('reiniciar').setAttribute('disabled', true);
}
🎓 Para saber mais:
Espero ter ajudado! 🧐
📌 Nota: Otimize seus estudos com o guia "Como turbinar seus estudos utilizando o fórum" e insira o código usando a ferramenta do fórum. 
Agora está funcionando certinho, muito obrigada! :)