Objetivo:
Dadas duas criaturas com habilidades de combate opcionais, retorne valores únicos, mas consistentes, que representam quais criaturas morreram, se houver.
Entrada:
#Longest form:
[[P,T, "<abilities>"], [P,T, "<abilities>"]]
#Shortest form:
[[P,T], [P,T]]
Cada criatura será dada na forma de [P,T,"<abilities>"]
. Será na forma [P,T]
, [P,T,""]
ou, [P,T,0]
se não tiver habilidades, sua escolha na forma. P é um número inteiro> = 0, T é um número inteiro> = 1. <abilities>
é um subconjunto de "DFI"
, ou pode ser representado por um único número / cadeia de bits, se desejar. A ordem das bandeiras também depende de você.
Mecânica de Combate:
Cada criatura tem duas estatísticas, Poder e Resistência nessa ordem, e habilidades opcionais. O poder de uma criatura é> = 0. A Robustez de uma criatura é> = 1.
Cada criatura causará simultaneamente dano igual ao seu poder à criatura oponente (a menos que alguém tenha um primeiro ataque). Se o valor for maior ou igual à resistência do oponente, ele morrerá (a menos que seja indestrutível).
Exemplo: Alice é um 2/2
, Bob é um 3/4
, ambos sem habilidades. Alice causará 2 de dano a Bob e receberá 3 de dano em troca. A dureza de Alice é 2, então ela morre, a dureza de Bob é 4, e ela vive.
Existem apenas três habilidades opcionais que consideraremos para isso (embora haja mais no jogo). Estes serão sinalizadores de um caractere:
- [D] eathtouch: qualquer quantidade de dano (X> 0) é considerada letal.
- [Primeiro] primeiro ataque: causará seu dano primeiro, capaz de matar a outra criatura antes que ela possa atacar de volta. Se ambas as criaturas tiverem primeiro ataque, resolva o combate normalmente.
- [I] n destrutível: Nenhuma quantidade de dano é considerada letal, incluindo Deathtouch.
Resultado:
Qualquer valor consistente para cada um dos quatro casos a seguir. Indique os quatro valores na sua resposta, por favor. Exemplo de valor de retorno em parens:
- Nenhuma criatura morreu (0)
- 1ª criatura morta (1)
- 2ª criatura morta (2)
- Ambas as criaturas morreram (3)
Regras:
- A entrada é garantida para ter duas criaturas formatadas corretamente.
- Se você estiver usando personagens para habilidades, você pode assumir que eles estão ordenados como quiser, mas postar o pedido usado, se relevante.
- Se você estiver usando um número / sequência de bits para habilidades, poste a codificação que está usando. por exemplo:
111
éD/F/I
,7
éD/F/I
, etc. - Se uma criatura não possui habilidades, também pode ser considerada como
[P,T, ""]
ou número equivalente - Lacunas padrão proibidas
- Isso é código-golfe, então o código mais curto vence.
Exemplos:
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