Objectif:
Étant donné deux créatures avec des capacités de combat facultatives, renvoyez des valeurs uniques mais cohérentes qui représentent les créatures mortes, le cas échéant.
Contribution:
#Longest form:
[[P,T, "<abilities>"], [P,T, "<abilities>"]]
#Shortest form:
[[P,T], [P,T]]
Chaque créature sera donnée sous forme de [P,T,"<abilities>"]
. Ce sera dans le formulaire [P,T]
, [P,T,""]
ou [P,T,0]
s'il n'a pas de capacités, votre choix sur le formulaire. P est un entier> = 0, T est un entier> = 1. <abilities>
est un sous-ensemble de "DFI"
, ou peut être représenté via un seul numéro / chaîne de bits si vous le souhaitez. L'ordre des drapeaux dépend également de vous.
Mécanique de combat:
Chaque créature a deux statistiques, Puissance et Robustesse dans cet ordre, et des capacités optionnelles. La puissance d'une créature est> = 0. La ténacité d'une créature est> = 1.
Chaque créature inflige simultanément des blessures égales à sa puissance à la créature adverse (à moins que l'une n'ait une première frappe). Si la valeur est supérieure ou égale à l'endurance de l'adversaire, il mourra (sauf s'il est indestructible).
Exemple: Alice est un 2/2
, Bob est un 3/4
, les deux sans capacités. Alice fera 2 dégâts à Bob et en prendra 3 en retour. La ténacité d'Alice est de 2 donc elle mourra, la ténacité de Bob est de 4 donc elle vivra.
Il n'y a que 3 capacités optionnelles que nous considérerons pour cela (bien qu'il y en ait plus dans le jeu). Ce seront des drapeaux à un caractère:
- [D] eathtouch: Toute quantité de dégâts (X> 0) est considérée comme mortelle.
- [F] première frappe: Inflige d'abord ses dégâts, capable de tuer l'autre créature avant qu'elle ne puisse attaquer. Si les deux créatures ont la première frappe, résolvez le combat normalement.
- [I] indestructible: aucun montant de dégâts n'est considéré comme mortel, y compris Deathtouch.
Production:
Toute valeur cohérente pour chacun des quatre cas suivants. Veuillez indiquer les quatre valeurs dans votre réponse. Exemple de valeur de retour en parens:
- Aucune créature n'est morte (0)
- 1ère créature morte (1)
- 2ème créature morte (2)
- Les deux créatures sont mortes (3)
Règles:
- L'entrée est garantie d'avoir deux créatures correctement formatées.
- Si vous utilisez des personnages pour des capacités, vous pouvez supposer qu'ils sont ordonnés comme vous le souhaitez, mais publier l'ordre utilisé le cas échéant.
- Si vous utilisez un nombre / chaîne de bits pour les capacités, postez l'encodage que vous utilisez. par exemple:
111
estD/F/I
,7
estD/F/I
, etc. - Si une créature n'a pas de capacités, elle peut aussi être prise comme
[P,T, ""]
ou équivalent en nombre - Failles standard interdites
- C'est le code-golf donc le code le plus court gagne.
Exemples:
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