介绍
在雅达利ST是从80年代中期到90年代初的时代,搭载了摩托罗拉68000微处理器一个相当流行的个人电脑。在这台机器上,未捕获的CPU异常的操作系统的默认行为是在屏幕上显示一行炸弹,如下图所示:
来源:https ://commons.wikimedia.org/wiki/File : Row_of_bombs.png
注意:取决于操作系统版本,炸弹图形可能会略有不同。但是,让我们以此作为参考。
炸弹的数量取决于异常向量,最常见的是:
- ($ 008)巴士错误:2枚炸弹
- ($ 00c)地址错误:3枚炸弹
- ($ 010)非法指令:4枚炸弹
目标
您的目标是编写一个程序或函数,以打印或输出此类Atari ST炸弹的ASCII艺术作品。
输入项
表示要显示的炸弹数量的整数。您的代码必须支持最常见的值:2、3和4。支持越来越少的炸弹是可以的,但既不是必需的,也不受奖励。
输出量
原始炸弹由16x16像素的图块组成,此处以ASCII和二进制形式表示:
....##.......... 0000110000000000
.#.#..#......... 0101001000000000
.......#........ 0000000100000000
#..#....#....... 1001000010000000
..#...#####..... 0010001111100000
......#####..... 0000001111100000
....#########... 0000111111111000
...###########.. 0001111111111100
...###########.. 0001111111111100
..#############. 0011111111111110
..########.####. 0011111111011110
...#######.###.. 0001111111011100
...######.####.. 0001111110111100
....#########... 0000111111111000
.....#######.... 0000011111110000
.......###...... 0000000111000000
在此挑战中,必须将每个ASCII炸弹拉伸到其原始宽度的两倍,以实现更好的渲染。因此,它将由16行32个字符组成,##
用于“ ON”像素,两个空格用于“ OFF”像素。所有炸弹砖必须并排放置。禁止前导空格。除必须存在的炸弹块(即第31列和第32列)的一部分之外,也禁止使用尾随空格。您可以包含不超过一个前导换行符和不超过一个尾随换行符。
例
以下是两枚炸弹的参考输出,其中强制性换行标记为\n
,容许的额外换行标记为(\n)
:
(\n)
#### #### \n
## ## ## ## ## ## \n
## ## \n
## ## ## ## ## ## \n
## ########## ## ########## \n
########## ########## \n
################## ################## \n
###################### ###################### \n
###################### ###################### \n
########################## ########################## \n
################ ######## ################ ######## \n
############## ###### ############## ###### \n
############ ######## ############ ######## \n
################## ################## \n
############## ############## \n
###### ###### (\n)
(当然,也可以使用其他换行格式,例如\r
或\r\n
。)
规则
这是代码高尔夫球,因此最短的答案以字节为单位。禁止出现标准漏洞。