En el juego Stratego, la mecánica principal del juego es cuando atacas la pieza de un oponente con la tuya. En este desafío, tu trabajo es simular una de estas batallas y decir quién sobrevive.
Especificaciones
Obtendrá como entrada un par de cuerdas que representan piezas de Stratego. Las piezas son una de ellas "S 1 2 3 4 5 6 7 8 9 10 B"
( S
es el espía, y B
son bombas). El primero del par será el atacante, y el segundo el atacado.
Estas son las reglas para determinar los resultados de una batalla:
- El número más alto es mejor que el número más bajo:
["4", "6"] -> ["6"]
. - Si ambos son la misma, entonces tanto troquel:
["7", "7"] -> []
. - Los espías son en la parte inferior, por debajo incluso
1
:["S", "2"] -> ["2"]
. - Sin embargo, si un espía ataca el
10
, entonces el espía gana:["S", "10"] -> ["S"]
. - Pero las reglas normales todavía se aplican si el
10
es el que ataca:["10", "S"] -> ["10"]
. - Si hay algo que ataca a una bomba, la bomba gana:
["5", "B"] -> ["B"]
. - Sin embargo, un minero (a
3
), puede desactivar una bomba:["3", "B"] -> ["3"]
. - Una bomba nunca será el atacante.
- Un observador (a
1
) puede atacar usando el mecanismo normal, pero también puede tratar de "adivinar" el rango del otro jugador, lo que puede denotarse con cualquier notación sensata. - Si aciertan, la otra pieza muere:
["1(5)", "5"] -> ["1"]
. - Si adivinan mal, no pasa nada:
["1(3)", "5"] -> ["1", "5"]
. - Observadores pueden detectar bombas:
["1(B)", "B"] -> ["1"]
.
Este es el código de golf , por lo que gana el código más corto en bytes .
(Puede usar los ejemplos allí arriba como casos de prueba, porque soy demasiado vago para ponerlos todos juntos en una lista).
"Victory!"
para ellos, pero no quería complicar demasiado las cosas
2
s, y no había 1
s en mi juego Stratego ... (¿o simplemente se modifican para el desafío?)