aaaaaa123456789 icon

Random hi/low guessing game in JS

aaaaaa123456789 | PRO | 12/22/13 06:28:10 AM UTC | 0 ⭐ | 465 👁️ | Never ⏰ | []
JavaScript |

1.86 KB

|

None

|

0 👍

/

0 👎

var check_guess = function (number, guess) {
  // Checks the guess against the number. Returns -1 if the guess is low,
  // 1 if the guess is high, or 0 if the guess is correct
  if (guess < number) return -1;
  if (guess > number) return 1;
  return 0;
};
 
var check_input = function (input) {
  // Validates that the user's input is a number from 1 to 100. Returns
  // that number, or 0 if the input was not valid.
  var number = new Number(input);
  if (number == NaN) return 0;
  number = number.valueOf();
  if ((number < 1) || (number > 100)) return 0;
  return Math.floor(number);
};
 
var prompt_user = function () {
  // Prompts the user for a number between 1 and 100, and continues to do
  // so until a valid one has been entered. Returns said number.
  var number, user_input;
  do {
    user_input = prompt("Enter your guess (1 - 100):");
    number = check_input(user_input);
  } while (number == 0);
  return number;
};
 
var generate_number = function () {
  var random_number = Math.random();
  random_number *= 100;
  return Math.floor(random_number + 1);
};
 
var play_game = function () {
  var number = generate_number();
  var guesses, check, this_guess = 0;
  for (guesses = 0; this_guess != number; guesses ++) {
    this_guess = prompt_user();
    check = check_guess(number, this_guess);
    switch (check) {
      case -1:
        alert("Your guess was too low!");
        break;
      case 1:
        alert("Your guess was too high!");
        break;
      case 0:
        alert("YOU WIN!!!");
        break;
    }
  }
  alert("It took you " + guesses + " guesses to get it right!");
}
 
// main code follows
var prompt_result;
while (true) {
  prompt_result = prompt("Type 'start' to start, or anything else to quit");
  if (prompt_result == "start")
    play_game();
  else {
    alert("Bye bye!");
    break;
  }
}

Comments