มีหลายคำถามเกี่ยวกับเกมนี้แม้จะเป็นพระมหากษัตริย์ของเนินเขาประกวดที่นี่ แต่ฉันคิดว่าความท้าทายและการแข่งขันทั้งหมดนั้นต้องการวิธีในการตัดสินผู้ชนะของเกมโดยอัตโนมัติ ดังนั้น:
ท้าทาย
เมื่อได้รับสองอินพุตในช่วงที่["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
เคล็ดลับ)