Hay varias preguntas con respecto a este juego , incluso un concurso de rey de la colina aquí . Pero creo que todos esos desafíos y concursos necesitan una forma de determinar automáticamente el ganador de un juego. Asi que:
Reto
Dadas dos entradas en el rango que ["rock", "paper", "scissors", "lizard", "spock"]
representan las selecciones para el jugador 1 y el jugador 2, determinar el ganador del partido.
Reglas
[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
Restricciones
- La entrada será un par de cadenas en el rango dado (no se pueden usar otras cadenas). Puede usar matrices de caracteres si lo desea, siempre que representen cualquiera de los valores mencionados.
- Puede elegir entre usar minúsculas, mayúsculas (
"ROCK"
) o camellas ("Rock"
) para las cadenas de entrada, siempre que el caso elegido sea el mismo para todas las entradas. - La salida será un trío de valores que determinarán el ganador, que puede ser cualquier cosa que desee siempre que las respuestas sean consistentes. Ejemplo:
1
si gana la primera entrada,2
si gana la segunda entrada,0
si hay un empate. O tal vezA
si gana la primera entrada,B
si gana la segunda entrada,<empty string>
si hay un empate.
Gol
Este es el código de golf , ¡así que puede ganar el programa / método / función / lambda más corto para cada idioma!
Pruebas
[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
truco).