Meu objetivo era incrementar meu código usando o que foi aprendido até aqui. Porém estou tendo um problema, o qual não consegui achar uma solução.
Meu objetivo era perguntar o número e após a entrada do usuário aparecer a mensagem dizendo se o número sorteado era menor ou maior o que o usuário digitou.
Se eu acerto de primeira ele dá o alert avisando do acerto e imprime na tela qual era o número.
Porém, se eu erro, não está voltando pra digitar no input. Ao invés disso, está aparecendo seguidamente as 3 mensagens iguais no alert, dizendo que número é maior ou menor, e aí então aparece a mensagem dizendo "máximo de tentativas", aí ele imprime qual era o número na tela. Preciso fazer com dê o alert com a pista, e aí volte para o usuário poder digitar o novo chute no input. Alguém consegue me ajudar?
Obrigado.
<meta charset="UTF-8">
<input/>
<button>Qual é o seu palpite?</button>
<script>
function mostra(frase) {
document.write(frase);
}
function sorteia(n) {
return Math.round(Math.random() * n);
}
var numeroPensado = sorteia(4);
var tentativaAtual = 1
var input = document.querySelector("input");
input.focus();
function verifica () {
while(tentativaAtual <= 3){
if(input.value == numeroPensado) {
alert("Você acertou!")
mostra("Uau! Você acertou, pois eu pensei no " + numeroPensado);
tentativaAtual = tentativaAtual + 4;
} else {
if(input.value > numeroPensado) {
alert("Você errou! Seu chute é maior que o número pensado! Tente novamente.");
tentativaAtual++;
input.value = "";
input.focus();
}
if (input.value < numeroPensado) {
alert("Você errou! Seu chute é menor que o número pensado! Tente novamente.");
tentativaAtual++;
input.value = "";
input.focus();
}
}
}
if(tentativaAtual = 3 && input.value != numeroPensado) {
alert("Máximo tentativas :(") ;
mostra("O número que eu havia pensado era " + numeroPensado);
}
}
var button = document.querySelector("button");
button.onclick = verifica;
</script>