Є кілька питань по приводу цієї гри , навіть король-оф-хілл конкурс тут . Але я думаю, що всі ці виклики та змагання потребують способу автоматичного визначення переможця гри. Так:
Виклик
З огляду на два входи в діапазоні, що ["rock", "paper", "scissors", "lizard", "spock"]
представляють вибір для гравця 1 та гравця 2, визначте переможця матчу.
Правила
[Winner] [action] [loser]
-----------------------------
scissors cut paper
paper covers rock
rock crushes lizard
lizard poisons spock
spock smashes scissors
scissors decapitates lizard
lizard eats paper
paper disproves spock
spock vaporizes rock
rock crushes scissors
Обмеження
- Введенням буде пара рядків у заданому діапазоні (жодні інші рядки не можна використовувати). Якщо ви хочете, ви можете використовувати масиви символів, якщо вони представляють будь-яке із згаданих значень.
- Ви можете вибрати, чи використовувати нижній, верхній (
"ROCK"
або великий ) регістр ("Rock"
) для вхідних рядків, якщо вибраний регістр однаковий для всіх входів. - Вихід буде тріою значень, що визначають переможця. Це може бути все, що завгодно, доки відповіді будуть узгоджені. Приклад:
1
якщо перший вхід виграє,2
якщо другий вхід виграє,0
якщо є нічия. А може,A
якщо перший вхід виграє,B
якщо другий вхід виграє,<empty string>
якщо є нічия.
Мета
Це код-гольф , тому може виграти найкоротша програма / метод / функція / лямбда для кожної мови!
Тести
[Input 1] [Input 2] [Output: 1/2/0]
-----------------------------------
rock paper 2
rock scissors 1
lizard spock 1
spock rock 1
spock paper 2
rock rock 0
cake
хитрістю).