猜数字游戏:进行循环/警报+重置

我想创建一个“猜数字游戏”,您可以在一定数量的尝试中猜出一个随机数。


我挣扎于:


(必须有) 1. 在警报之后循环进行(显示您的猜测是过高、过低还是不是数字。


(很高兴拥有) 2. 如果您设法猜到数字或尝试次数用完,请重置游戏。重置意味着恢复原始的猜测数量并将您的尝试归零。也许只是一个刷新页面的命令。


我 - 在我第一次尝试后休息多年之后 - 编码新手。


这是对我的项目的访问:https : //glitch.com/~gravel-pyrite


我认为这是我搞砸的相关循环/条件引擎:


var rangeMin = 0; //set the min value 

var rangeMax = 10; //set the max value 

var randomNumber = Math.floor(Math.random() * (rangeMax - rangeMin + 1)) + rangeMin;

var counter = 0;

var maxTries = 5;

var remainingTries = maxTries;

var guessedNumbers = [];



document.getElementById("submit").onclick = function() {


//Displaying min, max and remaining guesses in HTML


  document.getElementById('min').innerHTML = rangeMin;

  document.getElementById('max').innerHTML = rangeMax+"!";

  document.getElementById('feedback').innerHTML = "Remaining guesses: "+remainingTries;

  document.getElementById('guessedNumbers').innerHTML = "Your guesses so far: " + guessedNumbers;


  var attempts = +document.getElementById("guessInput").value; // use `+` to make sure your input value is treated as a number and not a string

  guessedNumbers.push(" "+attempts+" ");

  counter++;

  remainingTries--;

  if (counter >= maxTries) { //If running outs of attempts, break out of loop (test for >= to)

    alert("You used up your maximum tries. A new game will start.");

    resetGame();

  } else if (isNaN(attempts)) { //If anything else than a number is entered

    alert(attempts + " is not a number");

  } else if (attempts == randomNumber) { //If guessed correctly

    alert("Awesome! You guessed the number right: " + randomNumber + ". You needed " + attempts + " attempts.");

    resetGame();

  } else if (attempts > randomNumber && counter < maxTries) {

    alert("Your guess " + attempts + " is too high. Guess lower.")

  } else if (attempts < randomNumber && counter < maxTries) {

    alert("Your guess " + attempts + " is too low. Guess higehr.")

  }

}

function resetGame() {

  location.reload(true);

}

我希望在警报之后,我可以输入一个新值,而不是陷入“警报循环”。


守着一只汪
浏览 275回答 3
3回答

红颜莎娜

这是我的结果。我确信事情可以改进,但一切正常:var rangeMin = 0; //set the min value&nbsp;var rangeMax = 10; //set the max value&nbsp;var randomNumber = Math.floor(Math.random() * (rangeMax - rangeMin + 1)) + rangeMin;var counter = 0;var maxTries = 5;var remainingTries = maxTries;var guessedNumbers = [];//Displaying min, max and remaining guesses in HTMLdocument.getElementById('min').innerHTML = rangeMin;document.getElementById('max').innerHTML = rangeMax+"!";document.getElementById('feedback').innerHTML = "Remainig guesses: "+remainingTries;document.getElementById('guessedNumbers').innerHTML = "Your guesses so far: " + guessedNumbers;//The codedocument.getElementById("submit").onclick = function() {&nbsp; var attempts = +document.getElementById("guessInput").value; // use `+` to make sure your input value is treated as a number and not a string&nbsp; guessedNumbers.push(" "+attempts+" ");&nbsp; counter++;&nbsp; remainingTries--;&nbsp; if (counter >= maxTries) { //If running outs of attempts, break out of loop (test for >= to)&nbsp; &nbsp; document.getElementById('feedback').innerHTML = "Remainig guesses: "+remainingTries;&nbsp; &nbsp; document.getElementById('guessedNumbers').innerHTML = "Your guesses so far: " + guessedNumbers;alert("You used up your maximum tries. A new game will start.");&nbsp; &nbsp; resetGame();&nbsp; } else if (isNaN(attempts)) { //If anything else than a number is entered&nbsp; &nbsp; document.getElementById('feedback').innerHTML = "Remainig guesses: "+remainingTries;&nbsp; &nbsp; document.getElementById('guessedNumbers').innerHTML = "Your guesses so far: " + guessedNumbers;&nbsp; &nbsp; alert(attempts + " is not a number");&nbsp; } else if (attempts == randomNumber) { //If guessed correctly&nbsp; &nbsp; document.getElementById('feedback').innerHTML = "Remainig guesses: "+remainingTries;&nbsp; &nbsp; document.getElementById('guessedNumbers').innerHTML = "Your guesses so far: " + guessedNumbers;&nbsp; &nbsp; alert("Awesome! You guessed the number right: " + randomNumber + ". You needed " + attempts + " attempts.");&nbsp; &nbsp; resetGame();&nbsp; } else if (attempts > randomNumber && counter < maxTries) {&nbsp; &nbsp; document.getElementById('feedback').innerHTML = "Remainig guesses: "+remainingTries;&nbsp; &nbsp; document.getElementById('guessedNumbers').innerHTML = "Your guesses so far: " + guessedNumbers;&nbsp; &nbsp; alert("Your guess " + attempts + " is too high. Guess lower.")&nbsp; } else if (attempts < randomNumber && counter < maxTries) {&nbsp; &nbsp; document.getElementById('feedback').innerHTML = "Remainig guesses: "+remainingTries;&nbsp; &nbsp; document.getElementById('guessedNumbers').innerHTML = "Your guesses so far: " + guessedNumbers;&nbsp; &nbsp; alert("Your guess " + attempts + " is too low. Guess higehr.")&nbsp; }}function resetGame() {&nbsp; location.reload(true);}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript