Có một số câu hỏi liên quan đến trò chơi này , thậm chí là một cuộc thi vua trên đồi ở đây . Nhưng tôi nghĩ rằng tất cả những thử thách và cuộc thi đó cần một cách để tự động xác định người chiến thắng trong trò chơi. Vì thế:
Thử thách
Đưa ra hai đầu vào trong phạm vi ["rock", "paper", "scissors", "lizard", "spock"]
đại diện cho các lựa chọn cho người chơi 1 và người chơi 2, xác định người chiến thắng trong trận đấu.
Quy tắc
[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
Hạn chế
- Đầu vào sẽ là một cặp chuỗi trong phạm vi đã cho (không thể sử dụng chuỗi nào khác). Bạn có thể sử dụng mảng ký tự nếu muốn, miễn là chúng đại diện cho bất kỳ giá trị nào được đề cập.
- Bạn có thể chọn sử dụng chữ thường, chữ hoa (
"ROCK"
) hoặc vỏ lạc đà ("Rock"
) cho các chuỗi đầu vào, miễn là trường hợp được chọn là giống nhau cho tất cả các đầu vào. - Đầu ra sẽ là một bộ ba giá trị quyết định người chiến thắng, có thể là bất cứ điều gì bạn muốn miễn là câu trả lời nhất quán. Ví dụ:
1
nếu đầu vào thứ nhất thắng,2
nếu đầu vào thứ hai thắng,0
nếu có hòa. Hoặc có thểA
nếu đầu vào thứ nhất thắng,B
nếu đầu vào thứ hai thắng,<empty string>
nếu có hòa.
Mục tiêu
Đây là môn đánh gôn , vì vậy có thể chương trình / phương pháp / chức năng / lambda ngắn nhất cho mỗi ngôn ngữ sẽ giành chiến thắng!
Xét nghiệm
[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
mẹo).