Obbiettivo:
Dato due creature con abilità di combattimento opzionali, restituisci valori unici ma coerenti che rappresentano le eventuali creature morte.
Ingresso:
#Longest form:
[[P,T, "<abilities>"], [P,T, "<abilities>"]]
#Shortest form:
[[P,T], [P,T]]
Ogni creatura verrà data nella forma di [P,T,"<abilities>"]
. Sarà nella forma [P,T]
, [P,T,""]
o [P,T,0]
se non ha abilità, la tua scelta sulla forma. P è un numero intero> = 0, T è un numero intero> = 1. <abilities>
è un sottoinsieme di "DFI"
, o può essere rappresentato tramite un singolo numero / bittring, se lo si desidera. Anche l'ordine delle bandiere dipende da te.
Meccanica di combattimento:
Ogni creatura ha due statistiche, Potenza e Forza in quell'ordine e abilità opzionali. Il potere di una creatura è> = 0. La Toughness di una creatura è> = 1.
Ogni creatura infliggerà contemporaneamente un danno pari alla sua potenza alla creatura avversaria (a meno che uno non abbia il primo colpo). Se il valore è maggiore o uguale alla costituzione dell'avversario, morirà (a meno che non sia indistruttibile).
Esempio: Alice è una 2/2
, Bob è una 3/4
, entrambe senza abilità. Alice farà 2 danni a Bob e subirà 3 danni in cambio. La costituzione di Alice è 2, quindi morirà, la forza di Bob è 4, quindi vivrà.
Ci sono solo 3 abilità opzionali che prenderemo in considerazione per questo (anche se ce ne sono altre nel gioco). Questi saranno i flag di un personaggio:
- [D] eathtouch: qualsiasi quantità di danno (X> 0) è considerata letale.
- [F] primo colpo: infliggerà prima il suo danno, capace di uccidere l'altra creatura prima che possa attaccare indietro. Se entrambe le creature hanno First Strike, risolvi il combattimento normalmente.
- [I] distruttibile: nessuna quantità di danno è considerata letale, incluso Deathtouch.
Produzione:
Qualsiasi valore coerente per ciascuno dei seguenti quattro casi. Indica i quattro valori nella tua risposta, per favore. Esempio di valore restituito in parentesi:
- Nessuna delle due creature è morta (0)
- 1a creatura morta (1)
- 2a creatura morta (2)
- Entrambe le creature sono morte (3)
Regole:
- È garantito che l'input abbia due creature correttamente formattate.
- Se stai usando personaggi per abilità, puoi presumere che siano ordinati come vuoi, ma pubblica l'ordine usato se pertinente.
- Se stai usando un numero / bittring per le abilità, pubblica quale codifica stai usando. es:
111
isD/F/I
,7
isD/F/I
, ecc. - Se una creatura non ha abilità, può anche essere presa come
[P,T, ""]
o numero equivalente - Scappatoie standard vietate
- Questo è code-golf, quindi vince il codice più breve.
Esempi:
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