Ada beberapa pertanyaan tentang game ini , bahkan kontes king-of-the-hill di sini . Tapi saya pikir semua tantangan dan kontes itu membutuhkan cara untuk secara otomatis menentukan pemenang pertandingan. Begitu:
Tantangan
Diberikan dua input dalam kisaran yang ["rock", "paper", "scissors", "lizard", "spock"]
mewakili pilihan untuk pemain 1 dan pemain 2, tentukan pemenang pertandingan.
Aturan
[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
Batasan
- Input akan berupa sepasang string dalam rentang yang diberikan (tidak ada string lain yang dapat digunakan). Anda bisa menggunakan array chars jika Anda mau, asalkan mereka mewakili salah satu nilai yang disebutkan.
- Anda dapat memilih untuk menggunakan huruf kecil, huruf besar (
"ROCK"
) atau unta ("Rock"
) untuk string input, selama case yang dipilih sama untuk semua input. - Output akan menjadi trio nilai yang menentukan pemenang, yang bisa berupa apa saja yang Anda inginkan asalkan jawabannya konsisten. Contoh:
1
jika input pertama menang,2
jika input kedua menang,0
jika ada seri. Atau mungkinA
jika input pertama menang,B
jika input kedua menang,<empty string>
jika ada seri.
Tujuan
Ini adalah kode-golf , jadi semoga program / metode / fungsi / lambda terpendek untuk setiap bahasa menang!
Tes
[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
triknya).