Игра "Камень Ножницы Бумага" на js
Нужно сделать игру "Камень Ножницы Бумага".
Пользователь вводит свой вариант через prompt, программа генерирует свой вариант через Math.random() и выводит через alert. Следующий alert выводит имя победителя или "ничья" Подскажите, в чем ошибка?
var arr = ["Камень", "Ножницы", "Бумага"];
var rand = Math.floor(Math.random() * arr.length);
var result_02 = arr[rand];
alert (result_02);
var result_01 = prompt("Введите данные");
var r = result_01 || result_02;
switch (r) {
case "Камень" || "Ножницы":
alert( "Камень победил" );
break;
case "Камень" ||"Бумага":
alert("Бумага победила");
break;
case "Ножницы" || "Бумага":
alert("Ножницы победили");
break;
default:
alert("Ничья");
}
|
var r = result_01 || result_02; - это что за покемон?
при любом кроме пустого ввода будет идентичен; var r = result_01; |
alert('Камень'|| 'Бумага');
alert('Ножницы'|| 'Бумага');
alert(''|| 'Бумага');
|
Что нужно прописать вместо этого?
var r = result_01 || result_02; |
|
var arr = ["Камень", "Ножницы", "Бумага"];
var rand = Math.floor(Math.random() * arr.length);
var result_02 = arr[rand];
alert (result_02);
var result_01 = prompt("Введите данные");
if(arr.includes(result_01)){
var win = [["Камень", "Ножницы"],["Ножницы", "Бумага"],["Бумага", "Камень"]].find((el,i)=>result_01==el[0]&&result_02==el[1]||result_02==el[0]&&result_01==el[1])||['Ничья'];
alert(win[0]);
}
else alert('Неверный ввод');
|
Как решить эту задачу использую только условие if или switch?
|
Цитата:
|
| Часовой пояс GMT +3, время: 16:35. |