Por mi vida, no puedo averiguar cómo cerrar el aviso por completo al presionar cancelar en mi código para un juego de adivinanzas. He intentado varias cosas, pero cada vez que el código ignora lo que estoy tratando de hacer o termina en un error. Aquí está el código en cuestión:
let numGuess = prompt (`Guess the number I am thinking of (between 1 and 10):`); let num = (4); let numTries = 1 console.log(numGuess); numGuess = parseInt(numGuess) if (prompt == null) { alert (`Press F5 to play again.`) } if (numGuess === num) { alert (`Correct! You guessed the number in 1 try! Press F5 to play again.`); } else while ((numGuess !== num) && (numTries <3)) { numTries = numTries++ alert (`Incorrect guess. Try again.`) }Verifique el valor de entrada del usuario, no el aviso. Y tampoco use while loop aquí. Loop se usa para la poligonal.
let numGuess = prompt (`Guess the number I am thinking of (between 1 and 10):`); let num = (4); let numTries = 1 console.log(numGuess); numGuess = parseInt(numGuess) if (!numGuess) { alert (`Press F5 to play again.`) } else if (numGuess === num) { alert (`Correct! You guessed the number in 1 try! Press F5 to play again.`); } else{ numTries = numTries++ alert (`Incorrect guess. Try again.`) }El problema principal con su código es usar "++" después de numTries, lo que hace que el valor de la variable numTries no cambie y el ciclo while continúa funcionando sin detenerse, debe insertarlo antes. ex:
++numTriesEl siguiente código es un ejemplo funcional de lo que desea hacer.
let numGuess; let numTries = 0; let num = 4; const guessFunction = () => { if (numTries >= 3) { alert("Sorry you Failed in the 3 tries! Press F5 to play again."); return; } numGuess = parseInt( prompt(`Guess the number I am thinking of (between 1 and 10):`) ); numTries = ++numTries if (numGuess === num) { alert(`Correct! You guessed the number in ${numTries} try! Press F5 to play again.`); return; } if(numTries <= 2) { alert(`Incorrect guess. Try again.`); } guessFunction() }; guessFunction()