Il y a plusieurs questions concernant ce jeu , même un concours de roi de la colline ici . Mais je pense que tous ces défis et concours nécessitent un moyen de déterminer automatiquement le vainqueur d'un match. Alors:
Défi
Étant donné deux entrées dans la plage ["rock", "paper", "scissors", "lizard", "spock"]
représentant les sélections pour le joueur 1 et le joueur 2, déterminez le vainqueur du match.
Règles
[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
Restrictions
- L'entrée sera une paire de chaînes dans la plage donnée (aucune autre chaîne ne peut être utilisée). Vous pouvez utiliser des tableaux de caractères si vous le souhaitez, tant qu'ils représentent l'une des valeurs mentionnées.
- Vous pouvez choisir d'utiliser des minuscules, des majuscules (
"ROCK"
) ou des majuscules ("Rock"
) pour les chaînes d'entrée, tant que la casse choisie est la même pour toutes les entrées. - La sortie sera un trio de valeurs qui détermineront le gagnant, qui peut être tout ce que vous voulez tant que les réponses sont cohérentes. Exemple:
1
si la première entrée gagne,2
si la deuxième entrée gagne,0
s'il y a égalité. Ou peutA
- être si la première entrée gagne,B
si la deuxième entrée gagne,<empty string>
s'il y a égalité.
Objectif
C'est du golf de code , donc le programme / méthode / fonction / lambda le plus court pour chaque langue peut gagner!
Les tests
[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
astuce).