Es gibt eine Reihe von Fragen in Bezug auf dieses Spiel , auch ein King-of-the-Hill Wettbewerb hier . Aber ich denke, all diese Herausforderungen und Wettbewerbe erfordern eine Möglichkeit, den Gewinner eines Spiels automatisch zu ermitteln. So:
Herausforderung
Bestimmen Sie bei zwei Eingaben im Bereich, ["rock", "paper", "scissors", "lizard", "spock"]
die die Auswahl für Spieler 1 und Spieler 2 darstellen, den Sieger des Spiels.
Regeln
[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
Beschränkungen
- Die Eingabe erfolgt als Paar von Zeichenfolgen im angegebenen Bereich (es können keine anderen Zeichenfolgen verwendet werden). Wenn Sie möchten, können Sie Arrays von Zeichen verwenden, sofern diese einen der genannten Werte darstellen.
- Sie können wählen, ob für die Eingabezeichenfolgen Kleinbuchstaben, Großbuchstaben (
"ROCK"
) oder Kamelbuchstaben ("Rock"
) verwendet werden sollen, sofern die Groß- und Kleinschreibung für alle Eingaben gleich ist. - Es werden drei Werte ausgegeben, die den Gewinner bestimmen. Dies kann alles sein, was Sie wollen, solange die Antworten konsistent sind. Beispiel:
1
Wenn der erste Eingang gewinnt,2
wenn der zweite Eingang gewinnt,0
wenn ein Gleichstand besteht. Oder vielleicht,A
wenn der erste Eingang gewinnt,B
wenn der zweite Eingang gewinnt,<empty string>
wenn es ein Unentschieden gibt.
Tor
Das ist Code-Golf , also kann das kürzeste Programm / die kürzeste Methode / Funktion / Lambda für jede Sprache gewinnen!
Tests
[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
Trick).