如果朝给定方向扔ASCII鸡蛋,最终将得到大小为n的ASCII代码。它以一个o
(蛋黄)“开始” ,并以给定的方向(由2到n个 组成的“线”)继续*
。的*
s被一个“空格”分隔,而的s o
和所有“线” 被“ space” 的“线” *
分隔。
splat的方向可以是的八个方向之一o
,例如:
1 2 3
4 o 5
6 7 8
下面是在方向大小为4的ASCII层片的实施例5
,2
和3
分别。左边是实际的ASCII图示,而右边是一样的图示,但与“空间”“行”与实际的“线”替换(即-
或\
或|
取决于方向)只是为了澄清什么是一个意思空间的“线”。
Size 4, direction 5
* | | |*
* | |*|
* * |*| |*
o * o| |*|
* * |*| |*
* | |*|
* | | |*
Size 4, direction 2
* * * * * * * *
-------
* * * * * *
-------
* * * *
-------
o o
Size 4, direction 3
* *
\
* * *\*
\ \
* * * *\*\*
\ \ \
o * * * o\*\*\*
挑战
给定n≥1和8个可能的方向之一,编写一个函数或程序,在给定方向上输出大小为n的ASCII代码。
输入输出
允许使用任何一致,合理的输入格式。您不需要像我一样将方向映射到1到8的整数-如果更容易通过其他方式指定方向,请继续。但是,如果不清楚,请说说您做了什么。
输出将包括o
,*
,空格(U + 0020),并产生该ASCII图示换行符(U + 000A)。在任何行上都允许前导,尾随或其他多余的空格。
规则
这是代码高尔夫球。适用标准规则。
更多例子
Size 1, any direction
o
Size 3, direction 6
* * o
* *
*
Size 5, direction 7
o
* *
* * *
* * * *
* * * * *