Olá minha dúvida era se o jogador acertasse, aparecesse a opção de jogar novamente e o jogo reiniciasse, como posso fazer isso?
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!
Olá minha dúvida era se o jogador acertasse, aparecesse a opção de jogar novamente e o jogo reiniciasse, como posso fazer isso?
Segue um modelo da sua solicitação. Basicamente encapsulei toda a lógica do projeto dentro de uma função "jogar". Criei uma variável booleana "continuarJogando" inicializada com o valor de verdadeiro, pois quando for verificada no loop inicialmente ele irá executar. Após jogar e acertar o número, será perguntado se deseja continuar jogando. Caso não, o "confirm" retorna um valor falso, fazendo que o loop seja interrompido.
alert("Bem vindo(a) ao jogo do número secreto!");
let numeroMaximo = 500;
let continuarJogando = true;
while(continuarJogando){
jogar();
continuarJogando = confirm("Deseja jogar novamente?");
}
function jogar(){
let numeroSecreto = parseInt(Math.random() * numeroMaximo) + 1;
let chute;
let tentativas = 1;
while(chute != numeroSecreto){
chute = prompt(`Escolha um núnmero entre 1 e ${numeroMaximo}.`);
console.log('Valor do chute:', chute);
console.log('Resultado da comparação:', chute == numeroSecreto);
//se chute for igual ao número secreto
if(chute == numeroSecreto){
break;
} else {
console.log('Valor do número secreto:', numeroSecreto);
//alert("Você Errou.");
if(chute < numeroSecreto){
alert(`O número secreto é maior que ${chute}.`);
}else{
alert(`O número secreto é menor que ${chute}.`);
}
tentativas++;
}
}
let palavraTentativa = tentativas > 1 ? "tentativas" : "tentativa";
alert(`Isso ai! Você descobriu o número secreto ${numeroSecreto} com ${tentativas} ${palavraTentativa}.`);
}