My guessing code is working, however, instead of giving only 3 attempts to the user, the program gives 4 attempts. How do I stop the code in the third attempt ??
var chute = document.getElementById("chute")
var tentativa = document.getElementById("tentativa")
tentativa.innerText = 3 //Valor que irá aparecer na tela
function valida() {
var chute2 = parseInt(chute.value) //Declarar como variável local para não resetar o valor
var tentativa2 = parseInt(tentativa.innerText)
if (chute2 >= 0 && chute2 <= 10) {
aleatorio(chute2, tentativa2)
} else {
alert("Favor digitar um numero de 0 a 10")
}
}
function aleatorio(chute2, tentativa2) {
var numero = parseInt(1 + Math.random() * 10)
if (chute2 != numero && tentativa2 != 0) { //colocar o tentativa != 0 para não entrar em "loop infinito"
alert("Você errou! Tente de novo")
tentativa2-- //Reduz o valor int
tentativa.innerText = tentativa2 //O innerText é atribuido ao seu novo valor convertido em int
document.getElementById("chute").value = "" //Limpa a caixa de diálogo
} else if (chute2 != numero && tentativa2 == 0) {
alert("Suas chances acabaram! O número correto é " + numero)
window.location.reload()
} else if (chute2 == numero) {
alert("Parabéns! Você acertou")
window.location.reload()
}
}
<h1>Adivinhador</h1>
<p>
Seu chute: <br>
<input type="text" id="chute" name="chute">
</p>
<button onclick="valida()" reset="true">Arriscar</button>
<p>Tentativas: <span id="tentativa"></span> </p>
<!-- Para converter valor de span no JS, chamar o innerText -->