Hedef:
İsteğe bağlı savaş yeteneklerine sahip iki canlı verildiğinde, varsa hangi canlıların öldüğünü temsil eden benzersiz ancak tutarlı değerler döndürün.
Giriş:
#Longest form:
[[P,T, "<abilities>"], [P,T, "<abilities>"]]
#Shortest form:
[[P,T], [P,T]]
Her yaratık şeklinde verilecektir [P,T,"<abilities>"]
. O şeklinde olacak [P,T]
, [P,T,""]
ya [P,T,0]
da hiçbir yeteneklerini, form üzerinde seçiminizi varsa. P, = = 0 olan bir tam sayı, T = = 1 olan bir tam sayıdır. <abilities>
bir alt kümesidir"DFI"
grubudur veya isterseniz tek bir sayı / bit dizisi ile temsil edilebilir. Bayrakların sırası da size kalmış.
Savaş Mekaniği:
Her canlının iki statüsü vardır, bu sırayla Güç ve Tokluk ve isteğe bağlı yetenekler. Bir yaratığın gücü> = 0'dır. Bir yaratığın Tokluğu> = 1'dir.
Her yaratık aynı anda muhalif yaratığa olan gücüne eşit hasar verir (ilk vuruş olmadıkça). Değer rakibin sertliğinden büyük veya ona eşitse, ölmez (yok edilemezse).
Örnek: Alice bir 2/2
, Bob bir3/4
, her ikisi de yeteneği olmayan. Alice Bob'a 2 hasar verir ve karşılığında 3 hasar alır. Alice'in dayanıklılığı 2, bu yüzden ölecek, Bob'un dayanıklılığı 4 olacak, böylece yaşayacak.
Bunun için dikkate alacağımız sadece 3 isteğe bağlı yetenek var (oyunda daha fazlası olmasına rağmen). Bunlar bir karakter bayrağı olacaktır:
- [D] dokunma: Herhangi bir miktarda hasar (X> 0) ölümcül kabul edilir.
- [F] ilk Grev: İlk önce hasarını verir, diğer yaratığı geri saldırabilmeden önce öldürebilir. Her iki canlıda da İlk Saldırı varsa, dövüşü normal şekilde çözün.
- [I] tahrip edilemez: Deathtouch dahil hiçbir hasar öldürücü değildir.
Çıktı:
Aşağıdaki dört vakanın her biri için tutarlı bir değer. Cevabınızdaki dört değeri lütfen belirtin. Eşler cinsinden örnek dönüş değeri:
- Hiçbir canlı ölmedi (0)
- 1. yaratık öldü (1)
- 2. yaratık öldü (2)
- Her iki canlı da öldü (3)
Kurallar:
- Girdinin doğru biçimlendirilmiş iki canlıya sahip olması garanti edilir.
- Yetenekler için karakter kullanıyorsanız, bunların nasıl sipariş edildiğini varsayabilir, ancak uygunsa kullanılan siparişi gönderebilirsiniz.
- Yetenekler için bir sayı / bit dizisi kullanıyorsanız, kullandığınız kodlamayı gönderin. ör .:
111
isD/F/I
,7
isD/F/I
, vb. - Bir canlının yeteneği yoksa, aynı zamanda
[P,T, ""]
veya sayı eşdeğeri da - Standart Loopholes Yasak
- Bu kod golf çok kısa kod kazanır.
Örnekler:
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