Objetivo:
Dadas dos criaturas con habilidades de combate opcionales, devuelve valores únicos pero consistentes que representan qué criaturas murieron, si las hay.
Entrada:
#Longest form:
[[P,T, "<abilities>"], [P,T, "<abilities>"]]
#Shortest form:
[[P,T], [P,T]]
Cada criatura se dará en forma de [P,T,"<abilities>"]
. Estará en la forma [P,T]
, [P,T,""]
o [P,T,0]
si no tiene habilidades, su elección en la forma. P es un entero> = 0, T es un entero> = 1. <abilities>
es un subconjunto de "DFI"
, o puede representarse a través de un solo número / cadena de bits si lo desea. El orden de las banderas también depende de usted.
Mecánica de combate:
Cada criatura tiene dos estadísticas, Poder y Resistencia en ese orden, y habilidades opcionales. El poder de una criatura es> = 0. La resistencia de una criatura es> = 1.
Cada criatura hará simultáneamente daño igual a su poder a la criatura oponente (a menos que uno tenga el primer golpe). Si el valor es mayor o igual que la resistencia del oponente, morirá (a menos que sea indestructible).
Ejemplo: Alice es un 2/2
, Bob es un 3/4
, ambos sin habilidades. Alice hará 2 daños a Bob y recibirá 3 daños a cambio. La dureza de Alice es 2, por lo que morirá, la dureza de Bob es 4, por lo que vivirá.
Solo hay 3 habilidades opcionales que consideraremos para esto (aunque hay más en el juego). Estas serán banderas de un personaje:
- [D] eathtouch: cualquier cantidad de daño (X> 0) se considera letal.
- [F] primer Golpe: Primero hará daño, capaz de matar a la otra criatura antes de que pueda atacar. Si ambas criaturas tienen First Strike, resuelve el combate como de costumbre.
- [I] ndestructible: Ninguna cantidad de daño se considera letal, incluido Deathtouch.
Salida:
Cualquier valor consistente para cada uno de los siguientes cuatro casos. Indique los cuatro valores en su respuesta, por favor. Ejemplo de valor de retorno en parens:
- Ninguna criatura murió (0)
- La primera criatura murió (1)
- La segunda criatura murió (2)
- Ambas criaturas murieron (3)
Reglas:
- Se garantiza que la entrada tiene dos criaturas formateadas correctamente.
- Si está usando personajes para habilidades, puede suponer que están ordenados como desee, pero publique el orden utilizado si es relevante.
- Si está utilizando un número / cadena de bits para las habilidades, publique la codificación que está utilizando. por ejemplo:
111
esD/F/I
,7
esD/F/I
, etc. - Si una criatura no tiene habilidades, también se puede tomar como un
[P,T, ""]
número equivalente - Lagunas estándar prohibidas
- Este es el código de golf, por lo que gana el código más corto.
Ejemplos:
Input: [[2,2], [1,1]]
Output: 2nd Dies
Input: [[0,2], [0,1]] #0/2 vs 0/1
Output: Neither Die
Input: [[2,1], [2,1]] #2/1 vs 2/1
Output: Both Die
Input: [[1,1, "D"], [2,2]] #1/1 Deathtoucher vs 2/2
Output: Both Die
Input: [[2,2], [0,1, "D"]] #2/2 vs 0/1 Deathtoucher
Output: 2nd Dies
Input: [[2,2], [1,1, "DF"]] #2/2 vs 1/1 Deathtouch First-striker
Output: 1st Dies
Input: [[0,2, "D"], [0,1, "DF"]] #0/2 Deathtoucher vs 0/1 Deathtouch First-striker
Output: Neither Die
Input: [[2,2], [2,2, "F"]] #2/2 vs 2/2 First-striker
Output: 1st Dies
Input: [[2,2, "I"], [1,1, "DF"]] #2/2 Indestructible vs 1/1 Deathtouch First-striker
Output: 2nd Dies
Input: [[9999,9999], [1,1, "I"]] #9999/9999 vs 1/1 Indestructible
Output: Neither Die
Input: [[2,2, "F"], [1,1, "F"]] #2/2 First-Striker vs 1/1 First-Striker
Output: 2nd Dies
#9/9 Deathtouch, Indestructible First-Striker vs 9/9 Deathtouch, Indestructible First-Striker
Input: [[9,9, "DFI"], [9,9, "DFI"]]
Output: Neither Die
D => 0, F => 1, I => 2