Цель:
Если дано два существа с дополнительными боевыми способностями, вернуть уникальные, но согласованные значения, которые представляют, какие существа умерли, если таковые имеются
Входные данные:
#Longest form:
[[P,T, "<abilities>"], [P,T, "<abilities>"]]
#Shortest form:
[[P,T], [P,T]]
Каждое существо будет дано в виде [P,T,"<abilities>"]
. Это будет в форме [P,T]
, [P,T,""]
или, [P,T,0]
если у нее нет способностей, ваш выбор в форме. P является целым числом> = 0, T является целым числом> = 1. <abilities>
является подмножеством "DFI"
или может быть представлен через одну цифру / цепочку битов, если хотите. Заказ флагов также зависит от вас.
Боевая механика:
У каждого существа есть две характеристики: сила и выносливость в этом порядке и дополнительные способности. Сила существа> = 0. Стойкость существа> = 1.
Каждое существо будет одновременно наносить урон противнику, равный его силе (если только у него нет первого удара). Если значение больше или равно выносливости противника, оно умрет (если только оно не поддается разрушению).
Пример: Алиса 2/2
, Боб3/4
, оба без способностей. Алиса нанесет 2 урона Бобу и получит 3 урона в ответ. Стойкость Алисы - 2, поэтому она умрет, Стойкость Боба - 4, поэтому она будет жить.
Для этого мы рассмотрим только 3 дополнительные способности (хотя в игре их больше). Это будут флаги из одного символа:
- [D] eathtouch: Любое количество урона (X> 0) считается смертельным.
- [F] irst Strike: сначала нанесет урон, способный убить другое существо, прежде чем оно сможет атаковать в ответ. Если у обоих существ есть Первый Удар, Разрешите бой как обычно.
- [I] ndestructible: никакое количество урона не считается смертельным, включая Deathtouch.
Выход:
Любое постоянное значение для каждого из следующих четырех случаев. Укажите четыре значения в своем ответе, пожалуйста. Пример возвращаемого значения в паренах:
- Ни одно существо не умерло (0)
- 1-е существо умерло (1)
- 2-е существо умерло (2)
- Оба существа погибли (3)
Правила:
- На входе гарантированно должно быть два правильно отформатированных существа.
- Если вы используете символы для способностей, вы можете предположить, что они упорядочены так, как вы хотите, но опубликуйте используемый порядок, если это необходимо.
- Если вы используете число / цепочку битов для способностей, опубликуйте, какую кодировку вы используете. например:
111
естьD/F/I
,7
естьD/F/I
и т. д. - Если у существа нет способностей, его также можно принять за
[P,T, ""]
эквивалент или число - Стандартные лазейки запрещены
- Это код-гольф, поэтому выигрывает самый короткий код.
Примеры:
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