高度な描画スキルでこの課題を作成している私の写真。
バックグラウンド
スティックマン戦争は、地球の支配的な種がスティック以外のもので作られていなかったはるか昔に起こりました。歴史家は、当時画家やカメラがなかったという事実を後悔しており、今日の歴史書でその戦争の写真を使用することができました。それがあなたのコーディング力が役立つ場所です。棒人間は非常に簡単に描かれ、歴史家は何人の棒人間が戦争と戦ったかについてのデータを見つけることができました¹。戦争が始まる直前のイメージを再現するのはあなた次第です!
戦争に関与した勇敢な棒人間は次のとおりです。
O / | / | \ / | | / \剣士 OA / | \ | | | / \ | スピアマン 。 。 ' *。 'O * '\ | /。 。| * './ \ *。メイジ O / | \ | / \村人 O / | \ / \幼児
入力
stdinまたは同等のものを介して、戦場の両側に現れたすべてのバッターの表現を受け取ります。たとえば、2人の剣士が右側で戦い、2人の槍兵が左側で戦った場合、入力は{Sword: 2}, {Spear: 2}
、[2,0,0,0,0], [0,2,0,0,0]
またはになり"WW", "SS"
ます。
出力
以下のルールに従って、戦場でのすべての勇敢な棒人間の表現。ボートを揺するものは何でも、標準出力に表示するか、ファイルに保存できます。
ルール
- 左側には、プログラムが受け取った最初の配列/文字列/オブジェクトのすべての棒人間がいます。
- それらの棒人間は、この質問で前に示した棒人間とまったく同じように見えなければなりません。
- 左側軍の順序は
Infants Villagers Mages Swordsmen Spearmen
。 - 右側の軍隊は同じように動作しますが、キャラクターと順序はミラーリングされます。
- 各棒人間は1つのスペースで区切られます。
- 各クラスは3つのスペースで区切られます。
- 軍隊は8つのスペースで区切られます。
- 棒人間は飛ばないので、ハイフンを使用して地面を描かなければなりません
-
。 - 地面は、右軍の最後の棒人間が終わる同じ列で終わらなければなりません。
例
私のプログラムが長さ5の2つの配列を期待し、配列内の各値が順番に表すと仮定しましょうInfants Villagers Mages Swordsmen Spearmen
。
入力:[1,1,2,3,1] [0,0,1,1,1]
。。。 。 ' *。。 ' *。。* '。 O 'O *' O * O / O / O / OAAO \ O * O ' O / | \ '\ | /。'\ | /。| / | \ / | / | \ / | / | \ / / | \ | | / | \ \ / | \ | 。\ | / ' / | \ | 。| *。| * | | | | | | | | | | | | * | 。 / \ / \ './ \ *。'./ \ *。/ \ / \ / \ / \ | | / \ / \。* / \ '。 -------------------------------------------------- -------------------------------------
最終的な考慮事項
標準的な抜け穴が適用され、その理由で魔術師は完全に非対称であることに注意してください。
最も賛成の答えの結果は、この課題の「カバーイメージ」になります。月末(2014年8月31日)までに最短の回答が勝者として選択されます。
これはcode-golfであるため、バイト単位の最短コードが優先されます。
¹引用が必要
IVMMWWWS SWM
、「あなたを助けるもの」の範囲内のような表現はありますか?