Fernando,
var numeroSecreto = parseInt(Math.random() * 101);
var tentativas = 1;
alert ("Seja bem vindo ao Mentalista, um jogo para você adivinhar o número secreto!");
alert ("Tente usar o menor número de tentativas possível para acertar a resposta.");
var escolha = prompt("Se deseja jogar sem limite de tentativas, digite 'sem limites'. Agora, se deseja um limite, pode jogar com 3, 5 e 10 e tentativas. Basta digitar a opção desejada.");
if (escolha = "sem limites") {
while (chute != numeroSecreto) {
var chute = prompt("Digite um número entre 0 e 100");
if (chute == numeroSecreto) {
alert("Muito bem! Você descobriu o número secreto e precisou de " +tentativas+ " tentativas.")
break;
}
else if (chute < numeroSecreto) {
alert("Errou! O número secreto é maior que seu chute.")
tentativas++
} else if (chute > numeroSecreto) {
alert("Errou! O número secreto é menor que seu chute.")
tentativas++
}
}
}
else if (escolha = "3") {
while (chute != numeroSecreto) {
var chute = prompt("Digite um número entre 0 e 100")
if (chute == numeroSecreto) {
alert("Muito bem! Você descobriu o número secreto e precisou de " +tentativas+ " tentativas.")
break;
} if (tentativas == 3) {
alert("Você perdeu! Tente novamente.")
break;
}
else if (chute < numeroSecreto) {
alert("Errou! O número secreto é maior que seu chute.")
tentativas++
} else if (chute > numeroSecreto) {
alert("Errou! O número secreto é menor que seu chute.")
tentativas++
}
} alert("Errou! O número secreto é menor que seu chute.");
}
else if (escolha = "5") {
while (chute != numeroSecreto) {
var chute = prompt("Digite um número entre 0 e 100");
if (chute == numeroSecreto) {
alert("Muito bem! Você descobriu o número secreto e precisou de " +tentativas+ " tentativas.")
break;
} else if (tentativas == 6) {
alert("Você perdeu! Tente novamente.")
break;
}
else if (chute < numeroSecreto) {
alert("Errou! O número secreto é maior que seu chute.")
tentativas++
} else if (chute > numeroSecreto) {
alert("Errou! O número secreto é menor que seu chute.")
tentativas++
}
} alert("Você perdeu. Tente novamente")
}
else if (escolha = "10") {
while (chute != numeroSecreto) {
var chute = prompt("Digite um número entre 0 e 100");
if (chute == numeroSecreto) {
alert("Muito bem! Você descobriu o número secreto e precisou de " +tentativas+ " tentativas.")
break;
} else if (tentativas == 11) {
alert("Você perdeu! Tente novamente.")
break;
}
else if (chute < numeroSecreto) {
alert("Errou! O número secreto é maior que seu chute.")
tentativas++
} else if (chute > numeroSecreto) {
alert("Errou! O número secreto é menor que seu chute.")
tentativas++
}
} alert("Você perdeu. Tente novamente");
}
Pelo que eu vi, você colocou um if (escolha = "sem limites")
, mas quando faz o while (chute != numeroSecreto)
você NÃO verifica se o número de tentativas
já foi estourado...
... seria algo assim:
while (chute != numeroSecreto || tentativas > escolha) {
Para que o programa saia do looping de while quando o número de tentativas for ultrapassado.
Outra coisa... você NÃO precisa colocar um else if
para cada opção: 3, 5, 10. Você só coleta a escolha do usuário na variável escolha
e compara com o incrementador tentativas
.
[]'s,
Fabio I.