Nel gioco Stratego, la meccanica di gioco principale è quando attacchi un pezzo dell'avversario con il tuo. In questa sfida, il tuo compito è simulare una di queste battaglie e dire chi sopravvive.
Specifiche
Otterrai come input una coppia di stringhe che rappresentano pezzi di Stratego. I pezzi sono uno dei "S 1 2 3 4 5 6 7 8 9 10 B"
( S
è la spia e B
sono bombe). Il primo della coppia sarà l'attaccante, e il secondo sarà l'attaccante.
Ecco le regole per determinare i risultati di una battaglia:
- Il numero più alto batte il numero più basso:
["4", "6"] -> ["6"]
. - Se entrambi sono gli stessi, allora entrambi dado:
["7", "7"] -> []
. - Le spie sono in fondo, al di sotto anche
1
:["S", "2"] -> ["2"]
. - Tuttavia, se una spia attacca il
10
, poi la spia vince:["S", "10"] -> ["S"]
. - Ma le normali regole si applicano ancora, se l'
10
è quella di attaccare:["10", "S"] -> ["10"]
. - Semmai attacca una bomba, la bomba vince:
["5", "B"] -> ["B"]
. - Tuttavia, un minatore (una
3
), in grado di disinnescare una bomba:["3", "B"] -> ["3"]
. - Una bomba non sarà mai l'attaccante.
- Uno spotter (a
1
), può attaccare usando il normale meccanismo, ma può anche provare a "indovinare" il rango dell'altro giocatore, che può essere indicato con qualsiasi notazione sana. - Se si indovinano, l'altro pezzo muore:
["1(5)", "5"] -> ["1"]
. - Se si sbaglia, non accade nulla:
["1(3)", "5"] -> ["1", "5"]
. - Spotters può individuare bombe:
["1(B)", "B"] -> ["1"]
.
Questo è code-golf , quindi vince il codice più breve in byte !
(Puoi usare gli esempi lassù come casi di test, perché sono troppo pigro per metterli tutti insieme in un elenco).
"Victory!"
per loro, ma non volevo complicare troppo le cose
2
s, e non c'erano 1
s nel mio gioco Stratego ... (o sono stati appena modificati ai fini della sfida?)