pengantar
The Atari ST adalah komputer pribadi agak populer dari pertengahan 80-an hingga awal era 90-an, didukung oleh Motorola 68000 mikroprosesor. Pada mesin ini, perilaku default sistem operasi untuk pengecualian CPU yang tidak tertangkap adalah menampilkan deretan bom di layar, seperti yang ditunjukkan pada gambar berikut:
Sumber: https://commons.wikimedia.org/wiki/File:Row_of_bombs.png
NB: Tergantung pada versi OS, grafik bom mungkin sedikit berbeda. Tapi mari kita ambil yang ini sebagai referensi.
Jumlah bom tergantung pada vektor pengecualian, yang paling umum adalah:
- ($ 008) Kesalahan Bus: 2 bom
- ($ 00c) Kesalahan Alamat: 3 bom
- ($ 010) Instruksi Ilegal: 4 bom
Tujuan
Tujuan Anda adalah untuk menulis program atau fungsi yang mencetak atau mengeluarkan seni ASCII dari bom Atari ST tersebut.
Memasukkan
Integer yang mewakili jumlah bom untuk ditampilkan. Kode Anda harus mendukung nilai-nilai yang paling umum: 2, 3 dan 4. Mendukung lebih sedikit dan / atau lebih banyak bom baik-baik saja, tetapi tidak diperlukan atau dikenai bonus.
Keluaran
Bom asli terdiri dari ubin 16x16 piksel, diwakili di sini dalam ASCII dan biner:
....##.......... 0000110000000000
.#.#..#......... 0101001000000000
.......#........ 0000000100000000
#..#....#....... 1001000010000000
..#...#####..... 0010001111100000
......#####..... 0000001111100000
....#########... 0000111111111000
...###########.. 0001111111111100
...###########.. 0001111111111100
..#############. 0011111111111110
..########.####. 0011111111011110
...#######.###.. 0001111111011100
...######.####.. 0001111110111100
....#########... 0000111111111000
.....#######.... 0000011111110000
.......###...... 0000000111000000
Dalam tantangan ini, setiap bom ASCII harus direntangkan menjadi dua kali lebar aslinya untuk rendering yang lebih baik. Oleh karena itu, itu akan terdiri dari 16 baris 32 karakter, menggunakan ##
untuk piksel 'ON' dan dua spasi untuk piksel 'OFF'. Semua ubin bom harus diletakkan berdampingan. Ruang terkemuka dilarang. Ruang trailing juga dilarang, kecuali ruang yang sebenarnya merupakan bagian dari ubin bom (yaitu kolom ke-31 dan ke-32) yang harus ada. Anda dapat memasukkan tidak lebih dari satu break-line terdepan dan tidak lebih dari satu break-line trailing.
Contoh
Di bawah ini adalah keluaran referensi untuk dua bom, di mana pemutusan saluran wajib ditandai sebagai \n
dan pemutusan saluran tambahan yang ditandai ditandai sebagai (\n)
:
(\n)
#### #### \n
## ## ## ## ## ## \n
## ## \n
## ## ## ## ## ## \n
## ########## ## ########## \n
########## ########## \n
################## ################## \n
###################### ###################### \n
###################### ###################### \n
########################## ########################## \n
################ ######## ################ ######## \n
############## ###### ############## ###### \n
############ ######## ############ ######## \n
################## ################## \n
############## ############## \n
###### ###### (\n)
(Tentu saja, format break-line lainnya seperti \r
atau \r\n
dapat digunakan juga.)
Aturan
Ini adalah kode-golf, jadi jawaban tersingkat dalam byte menang. Celah standar dilarang.