No jogo Stratego, a principal mecânica do jogo é quando você ataca a peça de um oponente com a sua. Nesse desafio, seu trabalho é simular uma dessas batalhas e dizer quem sobrevive.
Especificações
Você receberá como entrada um par de strings representando as peças do Stratego. As peças são uma das "S 1 2 3 4 5 6 7 8 9 10 B"( Sé o Spy e Bsão bombas). O primeiro do par será o atacante e o segundo o atacado.
Aqui estão as regras para determinar os resultados de uma batalha:
- O número mais elevado bate o menor número:
["4", "6"] -> ["6"]. - Se ambos são os mesmos, então ambos morrer:
["7", "7"] -> []. - Spies estão na parte inferior, por baixo mesmo
1:["S", "2"] -> ["2"]. - No entanto, se um espião ataca o
10, em seguida, o espião ganha:["S", "10"] -> ["S"]. - Mas as regras normais ainda se aplicam se o
10é o ataque:["10", "S"] -> ["10"]. - Se alguma coisa ataca uma bomba, a bomba ganha:
["5", "B"] -> ["B"]. - No entanto, um mineiro (a
3), pode desarmar uma bomba:["3", "B"] -> ["3"]. - Uma bomba nunca será o atacante.
- Um observador (a
1) pode atacar usando o mecanismo normal, mas também pode tentar "adivinhar" a classificação do outro jogador, o que pode ser indicado com qualquer notação sensata. - Se eles adivinhar corretamente, o outro pedaço morre:
["1(5)", "5"] -> ["1"]. - Se errar, nada acontece:
["1(3)", "5"] -> ["1", "5"]. - Spotters pode detectar bombas:
["1(B)", "B"] -> ["1"].
Isso é código-golfe , então o código mais curto em bytes vence!
(Você pode usar os exemplos lá em cima como casos de teste, porque tenho preguiça de reuni-los todos em uma lista).
"Victory!"para-los, mas não queria coisas complicar demais
2s, e não houve 1s no meu jogo Stratego ... (ou são apenas modificado para o propósito do desafio?)