W grze Stratego główną mechaniką gry jest atakowanie pionka przeciwnika swoim. W tym wyzwaniu Twoim zadaniem jest zasymulowanie jednej z tych bitew i określenie, kto przeżyje.
Okular
Otrzymasz jako dane wejściowe parę sznurków reprezentujących kawałki Stratego. Kawałki są jednym z "S 1 2 3 4 5 6 7 8 9 10 B"
( S
jest Szpiegiem i B
jest bombą). Pierwszą z nich będzie atakujący, a drugą zaatakowany.
Oto zasady określania wyników bitwy:
- Im wyższa liczba bije niższą liczbę:
["4", "6"] -> ["6"]
. - Jeśli oba są takie same, to zarówno matryca:
["7", "7"] -> []
. - Szpiedzy są na dole, pod spodem jeszcze
1
:["S", "2"] -> ["2"]
. - Jednakże, jeśli szpiegiem atakuje
10
, to szpieg wygrywa:["S", "10"] -> ["S"]
. - Ale normalne zasady nadal obowiązują, jeśli
10
jest jeden atakuje:["10", "S"] -> ["10"]
. - Jeśli coś atakuje bomba, bomba wygrywa:
["5", "B"] -> ["B"]
. - Jednak górnik (a
3
), można rozbroić bomby["3", "B"] -> ["3"]
. - Bomba nigdy nie będzie atakującym.
- Spotter (a
1
) może atakować za pomocą normalnego mechanizmu, ale może także próbować „odgadnąć” pozycję drugiego gracza, którą można oznaczyć dowolnym rozsądnym zapisem. - Jeśli oni odgadnąć poprawnie, drugi kawałek pieczątki:
["1(5)", "5"] -> ["1"]
. - Jeśli źle się domyślić, nic się nie dzieje:
["1(3)", "5"] -> ["1", "5"]
. - Spotters można dostrzec bomby:
["1(B)", "B"] -> ["1"]
.
To jest golf golfowy , więc wygrywa najkrótszy kod w bajtach !
(Możesz użyć tych przykładów jako przypadków testowych, ponieważ jestem zbyt leniwy, aby zebrać je wszystkie w jedną listę).
"Victory!"
dla nich, ale nie chciałem zbytnio komplikować rzeczy
2
s i nie było żadnych 1
s w mojej grze Stratego ... (czy są one tylko modyfikowane na potrzeby wyzwania?)