ゲームStrategoでは、主なゲームメカニズムは、対戦相手のピースを自分のもので攻撃することです。このチャレンジでは、あなたの仕事はこれらの戦いの1つをシミュレートし、誰が生き残るかを言うことです。
スペック
入力として、Strategoピースを表す文字列のペアを取得します。ピースは"S 1 2 3 4 5 6 7 8 9 10 B"
(S
スパイでありB
、爆弾です)の1つです。ペアの最初は攻撃者で、2番目は攻撃されます。
戦闘の結果を決定するためのルールは次のとおりです。
- 数値が大きいほど、小さい数値に勝ります
["4", "6"] -> ["6"]
。 - 両方が同じ場合、両方とも死にます:
["7", "7"] -> []
。 - スパイは下部にあり、下にもあり
1
ます["S", "2"] -> ["2"]
。 - ただし、スパイがを攻撃する
10
と、スパイが勝ちます:["S", "10"] -> ["S"]
。 - ただし、が
10
攻撃している場合は、通常のルールが引き続き適用されます["10", "S"] -> ["10"]
。 - 何かが爆弾を攻撃すると、爆弾が勝ちます:
["5", "B"] -> ["B"]
。 - ただし、鉱夫(a
3
)は爆弾を除去できます["3", "B"] -> ["3"]
。 - 爆弾が攻撃者になることはありません。
- スポッター(a
1
)は、通常のメカニズムを使用して攻撃できますが、他のプレイヤーのランクを「推測」することもできます。これは、適切な表記で示すことができます。 - 推測が正しければ、他のピースは死にます:
["1(5)", "5"] -> ["1"]
。 - 推測が間違っていても、何も起こりません
["1(3)", "5"] -> ["1", "5"]
。 - スポッターは爆弾を見つけることができます
["1(B)", "B"] -> ["1"]
。
これはcode-golfなので、バイト単位の最短コードが勝ちです!
(私はそれらをすべて1つのリストにまとめるのが面倒なので、テストケースとして上のサンプルを使用できます)。
"Victory!"
彼らのために出力することを考えていましたが、物事をあまり複雑にしたくありませんでした
2
は1
s はありませんでした(または、チャレンジの目的で変更されただけですか?)