Как добавить расширенные ответы в угадайку? - PullRequest
0 голосов
/ 21 апреля 2019

Я пытаюсь создать игру по угадыванию чисел, в которой у пользователя есть 6 попыток угадать число в диапазоне от 1 до 100.Используя редактор кода в codehs , я создал программу, которая удовлетворяет основным требованиям.

Проблема в том, что я пытаюсь дать пользователю расширенную обратную связь, чтобы, если пользователи угадали два или более низко угаданных слова подряд, сообщение изменилось на «Извините, это предположение все еще слишком мало», ипохоже на 2 или более высоких предположений.

Я попытался создать другую переменную, чтобы отслеживать, каков был последний результат догадки.Однако у меня возникают проблемы с кодированием 3 различных состояний, в которых оно может находиться. Например, если использовалась целочисленная переменная, для представления различных возможных состояний можно использовать следующие значения:

  • -1:Пока не было сделано никаких предположений
  • 0: последнее предположение было слишком низким
  • 1: последнее предположение было слишком высоким

Если у кого-то есть лучший подход к этомупожалуйста, предложите, так как я не заставил это работать без ошибок.

function start() {
    var tarNum = 50;
    //var randomTarNum = Randomizer.nextInt(1, 100);
    var userGuess;

    for(var i = 0; i < 6; i++){
        userGuess = readInt("Guess the number.")
        if(tarNum == userGuess){
            println("Correct guess");
            break;

        }else if(tarNum< userGuess){
            println("Guess was too high.");

        }else if(tarNum> userGuess){
            println("Guess was to low.");

        }
    }
}

Предположим, что случайное число было 50:

  1. после запуска программы мое первое предположение - 10,
  2. консоль должна вывести «Угадай, что слишком низкий»
  3. после угадывания другого низкого ответа, такого как 25,
  4. консоль должна вывести «Угадай, все еще был слишком низким»

и аналогично, если догадки были слишком высокими.

1 Ответ

0 голосов
/ 21 апреля 2019

Сохраните последнее предположение в переменной с именем lastGuess, а затем проверьте это:

function start() {
  var tarNum = 50;
  var userGuess;
  var lastGuess;
  for (var i = 0; i < 6; i++) {
    userGuess = readInt("Guess the number.")
    if (tarNum == userGuess) {
      println("Correct guess");
      break;
    } else if (tarNum < userGuess) {
      if (lastGuess && lastGuess < tarNum) {
        println("Guess was STILL too high.");
      } else {
        println("Guess was too high.");
      }
      lastGuess = userGuess;
    } else if (tarNum > userGuess) {
      if (lastGuess && tarNum > lastGuess) {
        println("Guess was STILL too low.");
      } else {
        println("Guess was too low.");
      }
      lastGuess = userGuess;
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...