我的照片以我的高级绘图技能来起草这项挑战。
背景
火柴人战争发生在很久以前,当时地球上的优势物种仅由木棍组成。历史学家对当时没有画家或照相机的事实感到遗憾,我们可以在今天的历史书中使用那场战争的照片。这就是您的编码能力变得有用的地方。火柴人很容易画出来,历史学家设法找到了多少人参加了战争¹的数据。现在由您来重新创建战争开始前那刻的图像!
以下是参与战争的英勇火柴人:
O / | / | \ / | | / \剑客 OA / | \ | | | / \ | 长矛兵 。 。” *。 'O * '\ | /。 。| * './ \ *。法师 Ø / | \ | / \村民 Ø / | \ //婴儿
输入项
通过stdin或等效工具接收出现在战场两侧的每个火柴人的代表。例如,如果两个剑士右侧战斗,在左侧有两个长枪兵,你的输入可以是{Sword: 2}, {Spear: 2}
,[2,0,0,0,0], [0,2,0,0,0]
或"WW", "SS"
。
输出量
根据以下规则,表示战场上每个勇敢的火柴人。无论您的船摇动什么,它都可以显示在stdout上或保存到文件中。
规则
- 左侧将是程序接收到的第一个数组/字符串/对象的每个stickman。
- 这些火柴人必须看起来完全像之前在此问题上显示的火柴人。
- 左边军队的命令必须是
Infants Villagers Mages Swordsmen Spearmen
。 - 右侧军队的行为将相同,但角色和顺序将被镜像。
- 每个火柴人将以1个空格隔开。
- 每个班级将以3个空格隔开。
- 军队将被8个空格隔开。
- 由于火柴人不会飞,因此您必须使用连字号-减号来绘制地面
-
。 - 地面必须在右军最后一名火柴人结束的同一列上结束。
例
假设我的程序期望两个长度为5的数组,并且数组中的每个值依次表示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日)最短的答案将被选为获胜者。
这是代码高尔夫球,因此以字节为单位的最短代码胜出。
¹需要引用
IVMMWWWS SWM
会在“任何可以帮助您的东西”的范围内?