Scream™冬季特卖活动已经开始,您只是在狂奔极简动作游戏Super Square。玩完游戏后,您会意识到,要么游戏太难了,要么真的很糟糕。特别是,这种“雨”模式似乎每次都会让您受益……
沮丧的是,您决定给自己一个不同的挑战:用ASCII艺术画雨图!
输入值
输入是一个单个正整数n
,表示通过STDIN或函数参数指定的模式大小。
输出量
输出为指定大小的降雨模式,以字符串形式返回或通过STDOUT打印。整个图像之前或之后的前导或尾随空格都可以。此外,图像不必齐平到屏幕左侧,但必须清晰可辨。
这里是n = 10
:
...................
| ----------------- |
| ............... |
| | ------------- | |
| | ........... | |
| | | --------- | | |
| | | ....... | | |
| | | | ----- | | | |
| | | | ... | | | |
| | | | | - | | | | |
| | | | | | | | | |
| | | | | - | | | | |
| | | | ... | | | |
| | | | ----- | | | |
| | | ....... | | |
| | | --------- | | |
| | ........... | |
| | ------------- | |
| ............... |
| ----------------- |
...................
这里是n = 5
:
---------
.......
| ----- |
| ... |
| | - | |
| | | |
| | - | |
| ... |
| ----- |
.......
---------
最后,这是n = 1
(最里面的两堵墙):
-
-
结构(为了更加清晰)
游戏区域分为两对象限,如下所示:
AAAAAAAAA
B AAAAAAA B
BB AAAAA BB
BBB AAA BBB
BBBB A BBBB
BBBBB BBBBB
BBBB A BBBB
BBB AAA BBB
BB AAAAA BB
B AAAAAAA B
AAAAAAAAA
上/下象限应在以连字符表示的水平墙-
和带点阴影的间隙之间交替.
。左/右象限应在空间和以管道表示的垂直墙之间交替
|
。主对角线为空,应始终填充空格。
大小的降雨模式n
有2n
围墙,上/下象限的墙最靠近中心,而当我们远离中心时,围墙在象限之间交替。
计分
这是代码高尔夫球,因此,最少字节的代码将获胜。
4
这个游戏...我知道你在说什么。直到我击败它,我一生都偷了40个小时。^^
—
ThreeFx 2014年