Выполнение цикла while над игрой в угадайку

#javascript #html

#javascript #HTML

Вопрос:

Я столкнулся с чем-то, что, похоже, не могу понять. Я пытаюсь сделать его циклическим, поэтому, когда пользователь угадывает правильную информацию, он прерывает цикл. Но если они продолжат ошибаться, он скажет «Хочу поиграть снова». Вот мой код:

 while (userResponse="yes") {        

            var value = 15;
            var guess = prompt('Please enter a number greater than zero.');

                if (value == guess) {
                    alert ('The number you entered was correct. You won!');
                }else if (guess == null){
                    alert ('You didn't enter anything!');                  
                }else if ((guess > value   0)){
                    alert ('You're way off!');
                }else if ((guess <= value   7) amp;amp; (guess >= value - 7)){
                    alert ('You're getting warm!');
                }else if ((guess > value   7)  || (guess < value - 7)){
                    alert ('You're getting cold!');                
                } else {
                    alert ('Something went wrong.');
                }
                userResponse = prompt("Would you like to play again?");
        }
  

есть идеи о том, что я делаю неправильно? Все, что я хочу сделать, это когда пользователь угадывает «15», он автоматически умирает.

Ответ №1:

Есть несколько неправильных вещей, прежде чем обращаться к циклу:

  1. Замените бесконечный цикл на функцию, которую вы вызываете, когда хотите задать вопрос.
  2. userResponse="yes" всегда будет возвращать true, вы, вероятно, хотите userResponse=="yes"

Чтобы выйти из цикла, когда пользователь угадывает ответ, вам просто нужно сделать break (break на MDN).