Antes de ver a aula de resolução eu me propus em tentar fazer e dar uma brincada nas possibilidades...
alert('Boas vindas ao jogo do número secreto');
//Opção para o Jogador selecionar o nivel de dificuldade
alert ('Selecionde a dificuldade.');
let dificuldade = prompt('Dificuldades: Facil | Mediana | Dificil | Impossivel');
let numeroMax
//IF para determinar o número maximo de numeros possiveis de serem o número secreto
if (dificuldade == 'Impossivel'){
numeroMax = 10000;
}else{
if(dificuldade == 'Dificil'){
numeroMax = 1000;
}else{
if(dificuldade == 'Mediana'){
numeroMax = 100;
}else{
//Qualquer retorno que o jogador dar entrará na dificuldade Facil
dificuldade = 'Facil';
numeroMax = 10;
}
}
}
console.log(`Jogador optou pela dificuldade ${dificuldade}.`);
//Determinar qual número secreto será escolhido com base na dificuldade
let numeroSecreto = parseInt(Math.random() * numeroMax + 1);
console.log(numeroSecreto);
let chute;
let tentativas = 1;
//enquanto chute não for igual ao número secreto.
while ( chute != numeroSecreto){
//Caso o Jogador fique cansado de tentar e falhar
if (tentativas > 10){
alert('Você pode DESISTIR! Clique em CANCELAR.');
}
chute = prompt(`Escolha um número entre 1 e ${numeroMax}`);
// se chute for igual ao número secreto
if ((chute == numeroSecreto)||(chute == null) ) {
//Caso Usuario acerte de primeira ou finalmente acerte. O loop é interrompido e da continuidade ao comandos que estão fora dele.
break;
} else {
//Caso o usuario use mais de 1 tentativa ele vai dando dicas e perguntado novamente qual o chute do usuario novamente.
if (chute > numeroSecreto){
alert(`O número secreto é menor que ${chute}.`);
}else{
alert(`O número secreto é maior que ${chute}.`);
}
//tentativas = tentativas + 1;
tentativas++;
}
}
//Output para caso jogador acerte ou desista
if (chute == null){
let palavraTentativa = tentativas > 1 ? 'tentavivas': 'tentativa';
alert(`Que pena! Você não descobriu o número secreto que era ${numeroSecreto}. Você optou por desistir após ${tentativas} ${palavraTentativa}.`);
}else{
let palavraTentativa = tentativas > 1 ? 'tentavivas': 'tentativa';
alert(`Isso ai! Você descobriu o número secreto ${numeroSecreto}. Você precisou de ${tentativas} ${palavraTentativa} para acertar.`);
}
Teriam alguma sugestão em como melhorar a seleção de dificuldade? Pois para selecionar as dificuldades teria que escrever EXATAMENTE como esta mostrando no ALERT. Se não vai entrar na dificuldade Fácil.