Foto minha esboçando esse desafio com minhas habilidades avançadas de desenho.
fundo
As guerras de Stickman aconteceram há muito tempo, quando as espécies dominantes da Terra eram feitas de nada além de gravetos. Os historiadores lamentam o fato de que não havia pintores ou câmeras naquela época, poderíamos usar algumas fotos dessa guerra nos livros de história de hoje. É aí que seus poderes de codificação se tornam úteis. Os stickmen são muito fáceis de desenhar e os historiadores conseguiram encontrar alguns dados sobre quantos stickmen travaram as guerras¹. Agora cabe a você recriar uma imagem do momento antes do início da guerra!
Aqui estão os corajosos stickmen envolvidos na guerra:
O / | / | \ / | | / \ Espadachim OA / | \ | | | / \ | Lanceiro . . ' * 'O * '\ | /. . | * './ \ *. Mago O / | \ | / \ Aldeão O / | \ / \ Infant
Entrada
Receba via stdin ou equivalente uma representação de cada stickman que apareceu em cada lado do campo de batalha. Por exemplo, se dois espadachins lutaram no lado direito e dois lanceiros no lado esquerdo, sua entrada pode ser {Sword: 2}, {Spear: 2}
, [2,0,0,0,0], [0,2,0,0,0]
ou a "WW", "SS"
.
Resultado
Uma representação de todos os bravos homens de pau em um campo de batalha, de acordo com as regras abaixo. Ele pode ser mostrado no stdout ou salvo em um arquivo, o que quer que seja do seu interesse.
Regras
- No lado esquerdo, estarão todos os stickmen do primeiro array / string / objeto que seu programa recebeu.
- Esses stickmen devem se parecer exatamente com os mostrados anteriormente nesta questão.
- A ordem do exército do lado esquerdo deve ser
Infants Villagers Mages Swordsmen Spearmen
. - O exército do lado direito se comportará da mesma forma, mas com os personagens e a ordem espelhados.
- Cada stickman será separado por 1 espaço.
- Cada aula será separada por 3 espaços.
- Os exércitos serão separados por 8 espaços.
- Como stickmen não voa, você deve desenhar o solo usando hífen-menos
-
. - O chão deve terminar na mesma coluna que termina o último stickman do exército certo.
Exemplo
Vamos supor que meu programa espere duas matrizes com comprimento 5 e cada valor na matriz represente, em ordem Infants Villagers Mages Swordsmen Spearmen
,.
Entrada: [1,1,2,3,1] [0,0,1,1,1]
. . . . ' * . ' * . * '. O 'O *' O * O / O / O / OAAO \ O * O ' O / | \ '\ | /. '\ | /. | / | \ / | / | \ / | / | \ / / | \ | | / | \ \ / | \ | . \ | / ' / | \ | . | * | * | | | | | | | | | | | * . / \ / \ './ \ *. './ \ *. / \ / \ / \ / \ | | / \ / \. * / \ '. -------------------------------------------------- -------------------------------------
Considerações finais
Observe que as brechas padrão se aplicam e que o mago é completamente assimétrico apenas porque.
O resultado da resposta mais votada será a "imagem de capa" desse desafio. A resposta mais curta até o final do mês (31/08/2014) será selecionada como vencedora.
Isso é código-golfe , então o código mais curto, em bytes, vence.
ItationCitação necessária
IVMMWWWS SWM
estaria dentro do limite de "qualquer coisa que o ajude"?