作为城市规划项目的一部分,在建筑师的一些建议下,您已经获得了创建程序或功能的任务,该程序或功能将显示城市天际线。该项目仅处于启动阶段,因此非常粗略的草图就足够了。当然,最简单的方法是简单地以ASCII艺术形式绘制天际线。
所有建筑物都将在河边,因此它们全部对齐。建筑师会将每个建筑物的高度作为输入,您的代码应显示天际线。
架构师的输入将是整数或半整数。如果数字是整数,则建筑物将具有平坦的屋顶,而半整数将导致倾斜的屋顶。零将是平坦的地面。建筑物的墙壁相隔3个字符,而零将是单个字符宽。相邻建筑物共用墙壁。
有关输出的详细信息和说明,请查看以下示例:
N = 3
___
| |
| |
|___|
N = 3.5
_
/ \
| |
| |
|___|
N = 6
___
| |
| |
| |
| |
| |
|___|
n = 0
_
输入示例: 3 3.5 0 2
_
___ / \
| | | ___
| | | | |
|___|___|_|___|
输入示例: 0 0 2.5 3 0 4 1
___
_ ___ | |
/ \| | | |
| | | | |___
__|___|___|_|___|___|
路易斯维尔,0 2 1 3.5 0 4 2 4 2 4 6 1 6 0 5 1
___ ___
| | | | ___
_ ___ ___ ___| | | | | |
/ \ | | | | | | | | | | |
___ | | | |___| |___| | | | | | |
| |___| | | | | | | | |___| | | |___
_|___|___|___|_|___|___|___|___|___|___|___|___|_|___|___|
所使用的ASCII字符为:换行符,空格和/\_|
(代码点10、32、47、92、95、124)。
规则:
- 通过将所有数字乘以2,可以使程序只接受整数作为输入是可选的。因此,
3 3.5 2
您的程序可能会采用而不是采用6 7 4
。如果选择第二种输入格式,则输入6会导致一个3层建筑物,而7则应该是一个带有倾斜屋顶等的3层建筑物。 - 输出应完全如上所述,但是尾随空格和换行符可以。
- 输入的确切格式是可选的。以您的语言为准。
- 结果必须显示在屏幕上,以便架构师可以查看结果。
- 您可以假定至少有一个整数,并且只给出有效输入。
这是codegolf,因此以字节为单位的最短代码获胜。