Игра "Камень Ножницы Бумага" на 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, время: 10:42. |