Bom galera, estou fazendo o curso de lógica de programação e tenho tentado ir um pouco além para compreender melhor os conceitos, mas acabei travando em um código
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8" />
<title>Document</title>
</head>
<body>
<form>
<label for="user-number">Enter with your kick</label><br>
<input type="number" id="user-number" value=""><br>
<input type="button" value="Play" onclick="playGame()"><br>
</form>
<div id="game-result"></div>
<script src="./index.js"></script>
</body>
</html>
let randomNumber = Math.round(Math.random() * 10);
let trys = 0;
console.log(trys);
function playGame() {
while (trys <= 2) {
let userNumber = document.getElementById("user-number").value;
if (userNumber > randomNumber) {
document.getElementById("game-result").innerHTML = "Your Kick was greater than number thinked";
} else if (userNumber < randomNumber) {
document.getElementById("game-result").innerHTML = "Your kick was less than number thinked";
} else {
document.getElementById("game-result").innerHTML = `You Win, the number thinked was: ${randomNumber}`;
break;
}
trys++
}
}
Quando o usuário clica no botão o While não funciona corretamenta, acredito eu que toda vez que o botão é acionado uma nova chamada da função é feita, logo o loop é resetado e as tentativas de acerto ficam infinitas. Queria saber se existe alguma maneira simples de resolver esse problema, já que a chamada da ação é feita ao clicar no botão, tentei algumas mas consegui nada.