Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Игра "Камень Ножницы Бумага" на js (https://javascript.ru/forum/dom-window/72833-igra-kamen-nozhnicy-bumaga-na-js.html)

Julia1991 01.03.2018 18:08

Игра "Камень Ножницы Бумага" на 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("Ничья");
}

j0hnik 01.03.2018 18:29

var r = result_01 || result_02; - это что за покемон?
при любом кроме пустого ввода будет идентичен;
var r = result_01;

j0hnik 01.03.2018 18:34

alert('Камень'|| 'Бумага');

alert('Ножницы'|| 'Бумага');

alert(''|| 'Бумага');

Julia1991 01.03.2018 18:42

Что нужно прописать вместо этого?
var r = result_01 || result_02;

рони 01.03.2018 19:30

:)
https://javascript.ru/forum/misc/515...tml#post340325

j0hnik 01.03.2018 19:41

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('Неверный ввод');

Julia1991 01.03.2018 20:49

Как решить эту задачу использую только условие if или switch?

рони 01.03.2018 21:20

Цитата:

Сообщение от Julia1991
Как решить эту задачу использую только условие if

ссылка в сообщении №5, посмотрите всю тему с начала.


Часовой пояс GMT +3, время: 10:42.