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

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);

Ответы (1 шт):

Автор решения: entithat

(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);

→ Ссылка