Giriş
Atari ST Motorola 68000 mikroişlemcisi tarafından desteklenmektedir 90'ların başındaki çağına ortalarında 80 den ziyade popüler kişisel bilgisayar oldu. Bu makinede, yakalanmayan CPU istisnaları için işletim sisteminin varsayılan davranışı, aşağıdaki resimde gösterildiği gibi, ekranda bir sıra bomba göstermekti:
Kaynak: https://commons.wikimedia.org/wiki/File:Row_of_bombs.png
Not: İşletim sistemi versiyonuna bağlı olarak, bomba grafikleri biraz değişebilir. Ama bunu referans olarak alalım.
Bombaların sayısı istisna vektörüne bağlıdır, en yaygın olanları:
- (008 $) Otobüs Hatası: 2 bomba
- ($ 00c) Adres Hatası: 3 bomba
- (010 $) Yasadışı Eğitim: 4 bomba
Hedef
Amacınız, bu tür Atari ST bombalarının ASCII sanatını basan veya çıkaran bir program veya işlev yazmaktır.
Giriş
Görüntülenecek bomba sayısını gösteren bir tam sayı. Kodunuz en yaygın değerleri desteklemelidir: 2, 3 ve 4. Daha az ve / veya daha fazla bombanın desteklenmesi iyi, ancak ne gerekli ne de bonusa tabi değil.
Çıktı
Orijinal bomba, burada hem ASCII hem de binary'de temsil edilen 16x16 piksel bir karodan oluşuyor:
....##.......... 0000110000000000
.#.#..#......... 0101001000000000
.......#........ 0000000100000000
#..#....#....... 1001000010000000
..#...#####..... 0010001111100000
......#####..... 0000001111100000
....#########... 0000111111111000
...###########.. 0001111111111100
...###########.. 0001111111111100
..#############. 0011111111111110
..########.####. 0011111111011110
...#######.###.. 0001111111011100
...######.####.. 0001111110111100
....#########... 0000111111111000
.....#######.... 0000011111110000
.......###...... 0000000111000000
Bu zorlukla, her ASCII bombası daha iyi bir görüntü elde etmek için orijinal genişliğinin iki katı kadar uzatılmalıdır. Bu nedenle, ##
'ON' piksel için ve 'OFF' piksel için iki boşluk kullanan 16 karakterden oluşan 32 karakterden oluşacaktır . Tüm bomba döşemeleri yan yana koyulmalı. Önde gelen boşluklar yasaktır. Firar boşlukları da, bomba döşemesinin bir parçası (yani, 31 ve 32. sütunlar) olması gerekenler dışında yasaktır . Birden fazla önde gelen satır sonu ve birden fazla satır sonunu da dahil edemezsiniz.
Örnek
Aşağıda, zorunlu satır sonları olarak işaretlenmiş \n
ve fazladan satır sonları olarak işaretlenmiş iki bomba için referans çıktısı verilmiştir (\n)
:
(\n)
#### #### \n
## ## ## ## ## ## \n
## ## \n
## ## ## ## ## ## \n
## ########## ## ########## \n
########## ########## \n
################## ################## \n
###################### ###################### \n
###################### ###################### \n
########################## ########################## \n
################ ######## ################ ######## \n
############## ###### ############## ###### \n
############ ######## ############ ######## \n
################## ################## \n
############## ############## \n
###### ###### (\n)
(Elbette, diğer satır sonu gibi biçimlendirir \r
ya \r\n
da sadece kullanılabilir.)
kurallar
Bu kod golf, yani bayt cinsinden en kısa cevap kazanır. Standart boşluklar yasaktır.