Orada bu oyun ile ilgili çeşitli sorular , hatta bir kral-of-the-tepe yarışması burada . Ancak tüm bu zorlukların ve yarışmaların bir oyunun kazananı otomatik olarak belirlemek için bir yola ihtiyacı olduğunu düşünüyorum. Yani:
Meydan okuma
["rock", "paper", "scissors", "lizard", "spock"]
Oyuncu 1 ve oyuncu 2 için seçimleri temsil eden aralıktaki iki giriş göz önüne alındığında , maçın galibi belirlenir.
kurallar
[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
Kısıtlamalar
- Girdi, verilen aralıktaki bir dize çifti olacaktır (başka hiçbir dize kullanılamaz). İsterseniz karakter dizilerini, belirtilen değerlerden herhangi birini temsil ettiği sürece kullanabilirsiniz.
- Giriş dizeleri için küçük harf, büyük harf (
"ROCK"
) veya deve büyük harf ( ) kullanıp kullanmamayı seçebilirsiniz"Rock"
; seçilen vaka tüm girişler için aynıdır. - Çıktı, kazananı belirleyen ve cevaplar tutarlı olduğu sürece istediğiniz her şey olabilir, değerlerin üçlüsü olacaktır. Örnek:
1
ilk giriş kazanırsa,2
ikinci giriş kazanırsa,0
bir kravat varsa. Veya belkiA
de ilk giriş kazanırsa,B
ikinci giriş kazanırsa,<empty string>
bir kravat varsa.
Hedef
Bu kod golf , yani her dil için en kısa program / yöntem / fonksiyon / lambda kazanabilir!
Testler
[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
hile ile verilen cevaplara bakınız ).