Im Spiel Stratego ist die Hauptspielmechanik, wenn Sie die Figur eines Gegners mit Ihrer angreifen. Bei dieser Herausforderung besteht Ihre Aufgabe darin, eine dieser Schlachten zu simulieren und zu sagen, wer überlebt.
Technische Daten
Sie erhalten als Eingabe ein Zeichenfolgenpaar, das Strategostücke darstellt. Die Stücke sind eines von "S 1 2 3 4 5 6 7 8 9 10 B"
( S
ist der Spion und B
sind Bomben). Der erste des Paares ist der Angreifer und der zweite der Angreifer.
Hier sind die Regeln zur Bestimmung der Ergebnisse eines Kampfes:
- Die höhere Zahl schlägt die niedrigere Zahl :
["4", "6"] -> ["6"]
. - Wenn beide gleich sind, sterben beide :
["7", "7"] -> []
. - Spione sind unten, darunter sogar
1
:["S", "2"] -> ["2"]
. - Wenn jedoch ein Spion den angreift
10
, gewinnt der Spion :["S", "10"] -> ["S"]
. - Es gelten jedoch weiterhin die normalen Regeln, wenn
10
derjenige angreift :["10", "S"] -> ["10"]
. - Wenn etwas eine Bombe angreift, gewinnt die Bombe :
["5", "B"] -> ["B"]
. - Ein Bergmann (a
3
) kann jedoch eine Bombe entschärfen :["3", "B"] -> ["3"]
. - Eine Bombe wird niemals der Angreifer sein.
- Ein Spotter (a
1
) kann mit dem normalen Mechanismus angreifen, aber er kann auch versuchen, den Rang des anderen Spielers zu "erraten", was mit jeder vernünftigen Notation angegeben werden kann. - Wenn sie richtig raten, stirbt das andere Stück :
["1(5)", "5"] -> ["1"]
. - Wenn sie falsch raten, passiert nichts :
["1(3)", "5"] -> ["1", "5"]
. - Spotter können Bomben erkennen :
["1(B)", "B"] -> ["1"]
.
Dies ist Code-Golf , also gewinnt der kürzeste Code in Bytes !
(Sie können die Beispiele dort oben als Testfälle verwenden, da ich zu faul bin, um sie alle in einer Liste zusammenzufassen.)
"Victory!"
für sie zu haben, wollte aber die Dinge nicht zu kompliziert machen
2
s, und es gab keine 1
s in meinem Stratego-Spiel ... (oder werden sie nur zum Zweck der Herausforderung modifiziert?)