Tạo một hàm sẽ lấy hai chuỗi làm đầu vào và trả về một đầu ra duy nhất cho kết quả. Câu trả lời phổ biến nhất chiến thắng.
Các quy tắc của Rock-paper-kéo-lizard-Spock là:
- Kéo cắt giấy
- Giấy bìa đá
- Đá nghiền nát thằn lằn
- Thằn lằn độc Spock
- Spock đập kéo
- Kéo thằn lằn
- Thằn lằn ăn giấy
- Giấy từ chối Spock
- Spock bốc hơi đá
- Đá phá vỡ kéo
Đầu ra cho mọi trường hợp đầu vào có thể là:
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'
Thử thách thêm được đề xuất bởi @Sean Cheshire: Cho phép danh sách tùy chỉnh, chẳng hạn như những danh sách từ trang web này. Với danh sách n-item, vật phẩm sẽ thua (n-1) / 2 trước đó và chiến thắng (n-1) / 2 sau