首页 > 解决方案 > 使用 HTML 和 javascript 猜数字游戏

问题描述

您好,我有一个简单的脚本:

var play = true;
var correct = false;
var number = 0;
var guess = 0;
while (play) {
  // random number between 1 and 10.
  number = Math.floor(Math.random() * 10 - 1);
  if (number == 0) number = 1;


  while (!correct) {
    guess = window.prompt("What is the number?");

    if (guess < number) {
      alert("Guess higher ;)");
    } else if (guess > number) {
      alert("Guess lower ;)");
    } else if (guess == number) {
      correct = true;
      alert("You got it!");
    }
  }

  if (window.prompt("Do you want another game?", "yes") != "yes") {
    play = false;
  }
}

当我得到正确的号码并提示“你想要另一场比赛吗?” 并输入“是”,程序重新显示并停留在“你想要另一个游戏吗?”。

标签: javascripthtml

解决方案


您需要重置correct每个播放循环的状态:

let play = true;

while (play) {
  let number = Math.floor(Math.random() * 10 + 1);
  let guess = 0;
  let correct = false;

  while (!correct) {
    guess = window.prompt("What is the number?");

    if (guess < number) {
      alert("Guess higher ;)");
    } else if (guess > number) {
      alert("Guess lower ;)");
    } else if (guess == number) {
      correct = true;
      alert("You got it!");
    }
  }

  if (window.prompt("Do you want another game?", "yes") != "yes") {
    play = false;
  }
}


推荐阅读