在游戏Stratego中,主要的游戏机制是当您用自己的对手攻击对手的棋子时。在这个挑战中,您的工作是模拟其中一场战斗,并说出谁能幸免。
眼镜
您将获得一对表示Stratego件的字符串作为输入。这些碎片是其中之一"S 1 2 3 4 5 6 7 8 9 10 B"
(S
是间谍,B
是炸弹)。这对中的第一个将成为攻击者,第二个将被攻击。
以下是确定战斗结果的规则:
- 较高的数字胜过较低的数字:
["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"]
。
这是代码高尔夫球,因此以字节为单位的最短代码胜出!
(您可以将此处的示例用作测试用例,因为我太懒了,无法将它们全部放在一个列表中)。
我们可以分别用0和11表示S和B吗?
—
Leaky Nun
@LeakyNun不,这会使对它们进行排名太容易了。
—
Maltysen,2016年
我知道等级的逆转(过去最好是1,只被间谍攻击打败,矿工是8,最差是9),但我从未听说过检举人的等级或猜中取胜的规则。但这只是我胡扯。在这里真正感兴趣的是:标志呢?
—
msh210 '16
@ msh210我当时正在考虑
—
-Maltysen
"Victory!"
为它们提供输出,但不想让事情变得过于复杂
间谍除了炸弹以外,不会赢得任何战斗(如果有人攻击)并且失去所有防御?这是哪套Stratego规则的来源?Spotters(Scouts)是
—
mbomb007
2
s,而1
我的Stratego游戏中没有s ...(或者只是为了挑战而修改了它们吗?)