Créez une fonction qui prendra deux chaînes en entrée et renverra une seule sortie pour le résultat. La réponse la plus populaire l'emporte.
Les règles de Rock-paper-scissors-lizard-Spock sont:
- Ciseaux papier découpé
- Papier couvre rock
- Lézard écrase la roche
- Lézard empoisonne Spock
- Spock fracasse les ciseaux
- Des ciseaux décapitent le lézard
- Lézard mange du papier
- Le papier réfute Spock
- Spock vaporise la roche
- Rock brise des ciseaux
La sortie pour chaque cas d'entrée possible est:
winner('Scissors', 'Paper') -> 'Scissors cut Paper'
winner('Scissors', 'Rock') -> 'Rock breaks Scissors'
winner('Scissors', 'Spock') -> 'Spock smashes Scissors'
winner('Scissors', 'Lizard') -> 'Scissors decapitate Lizard'
winner('Scissors', 'Scissors') -> 'Scissors tie Scissors'
winner('Paper', 'Rock') -> 'Paper covers Rock'
winner('Paper', 'Spock') -> 'Paper disproves Spock'
winner('Paper', 'Lizard') -> 'Lizard eats Paper'
winner('Paper', 'Scissors') -> 'Scissors cut Paper'
winner('Paper', 'Paper') -> 'Paper ties Paper'
winner('Rock', 'Spock') -> 'Spock vaporizes Rock'
winner('Rock', 'Lizard') -> 'Rock crushes Lizard'
winner('Rock', 'Scissors') -> 'Rock breaks Scissors'
winner('Rock', 'Paper') -> 'Paper covers Rock'
winner('Rock', 'Rock') -> 'Rock ties Rock'
winner('Lizard', 'Rock') -> 'Rock crushes Lizard'
winner('Lizard', 'Spock') -> 'Lizard poisons Spock'
winner('Lizard', 'Scissors') -> 'Scissors decapitate Lizard'
winner('Lizard', 'Paper') -> 'Lizard eats Paper'
winner('Lizard', 'Lizard') -> 'Lizard ties Lizard'
winner('Spock', 'Rock') -> 'Spock vaporizes Rock'
winner('Spock', 'Lizard') -> 'Lizard poisons Spock'
winner('Spock', 'Scissors') -> 'Spock smashes Scissors'
winner('Spock', 'Paper') -> 'Paper disproves Spock'
winner('Spock', 'Spock') -> 'Spock ties Spock'
Défi supplémentaire suggéré par @Sean Cheshire: Autoriser les listes personnalisées, telles que celles de ce site. Avec la liste des n éléments, l'élément perd au (n-1) / 2 précédent et gagne le (n-1) / 2 suivant