Вступ
Atari ST був досить популярним персональним комп'ютером з середини 80 - х до початку 90 -х років епохи, харчування від Motorola 68000 мікропроцесор. На цій машині поведінка операційної системи за умовчанням для винятків винятків із процесора полягала в тому, щоб відображати ряд бомб на екрані, як показано на наступному малюнку:
Джерело: https://commons.wikimedia.org/wiki/File:Row_of_bombs.png
Примітка: Залежно від версії ОС, графіки бомб можуть дещо відрізнятися. Але візьмемо це як довідкове.
Кількість бомб залежить від вектора виключення, найпоширенішими з них є:
- ($ 008) Помилка автобуса: 2 бомби
- Помилка адреси: 3 бомби
- ($ 010) Незаконна інструкція: 4 бомби
Мета
Ваша мета - написати програму або функцію, яка друкує або виводить ASCII мистецтво таких бомб Atari ST.
Вхідні дані
Ціле число, що представляє кількість бомб, які потрібно відобразити. Ваш код повинен підтримувати найпоширеніші значення: 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
можуть бути використані так само добре.)
Правила
Це код-гольф, тому найкоротша відповідь у байтах виграє. Стандартні лазівки заборонені.