Почему не работает break;

173
09 мая 2022, 13:30
var answer = 100;
var userAnswer1 = +prompt('Первый игрок: Угадайте моё число от 0 до 100:');
var userAnswer2 = +prompt('Второй игрок: Угадайте моё число от 0 до 100:');
while (((userAnswer1 || userAnswer2) != answer) || ((userAnswer1 || userAnswer2) !== null)) {
   if (userAnswer1 == answer || userAnswer1 === null) {
      break;
   } else if (userAnswer1 > answer) {
      alert('Первый игрок: Моё число меньше!');
   } else if (userAnswer1 < answer) {
      alert('Первый игрок: Моё число больше!');
   }
   if (userAnswer2 == answer || userAnswer2 === null) {
      break;
   } else if (userAnswer2 > answer) {
      alert('Второй игрок: Моё число меньше!');
   } else if (userAnswer2 < answer) {
      alert('Второй игрок: Моё число больше!');
   }
   userAnswer1 = +prompt('Первый игрок: Введите число ещё раз:');
   userAnswer2 = +prompt('Второй игрок: Введите число ещё раз:');
}
if (userAnswer1 == answer) {
   alert('Первый игрок: Поздравляю, Вы угадали!');
}
if (userAnswer2 == answer) {
   alert('Второй игрок: Поздравляю, Вы угадали!');
}
document.write('Правильное число: ' + answer);
Answer 1

(userAnswer1 || userAnswer2) != answer - это не так сравнивается. Ведь если два ответа будут отменены, то (null || null) != answer будет true. А это не желаемое поведение, судя из задачи.

var answer = 100;
var userAnswer1 = +prompt('Первый игрок: Угадайте моё число от 0 до 100:');
var userAnswer2 = +prompt('Второй игрок: Угадайте моё число от 0 до 100:');
while (userAnswer1 !== answer || userAnswer2 !== answer || !userAnswer1 || !userAnswer2) {
   if (userAnswer1 === answer || !userAnswer1) break;
   else if (userAnswer1 > answer) alert('Первый игрок: Моё число меньше!');
   else if (userAnswer1 < answer) alert('Первый игрок: Моё число больше!');
   if (userAnswer2 === answer || !userAnswer2) break;
   else if (userAnswer2 > answer) alert('Второй игрок: Моё число меньше!');
   else if (userAnswer2 < answer) alert('Второй игрок: Моё число больше!');
   
   userAnswer1 = +prompt('Первый игрок: Введите число ещё раз:');
   userAnswer2 = +prompt('Второй игрок: Введите число ещё раз:');
}
if (userAnswer1 === answer) alert('Первый игрок: Поздравляю, Вы угадали!');
if (userAnswer2 === answer) alert('Второй игрок: Поздравляю, Вы угадали!');
document.write('Правильное число: ' + answer);

READ ALSO
Как динамически изменить массив? React js

Как динамически изменить массив? React js

У меня есть два компонента, в первом компоненте массив, который я хочу динамически изменить (например при нажатии на кнопку) и передать во второй...

265
Scroll Модального окна

Scroll Модального окна

Всем привет! У меня имеется приложение и кнопка при клике на которую появляется модальное окно(в нем содержатся продукты взятые из store(redux))При...

170
Не перезаписывает содержимое DIV

Не перезаписывает содержимое DIV

При нажатии <button> выполняется функция f1()Функция получает div

161
Странность меню аккордеон

Странность меню аккордеон

Взял с инета меню аккордеон, и прикол в том, что когда оно раскрывается, оно двигает вниз рядом стоящий с ним элементВ целом решается, если...

236