introduction
L' Atari ST était un ordinateur personnel assez populaire du milieu des années 80 au début des années 90, alimenté par un microprocesseur Motorola 68000. Sur cet ordinateur, le comportement par défaut du système d'exploitation pour les exceptions d'UC non capturées consistait à afficher une rangée de bombes à l'écran, comme indiqué dans l'image suivante:
Source: https://commons.wikimedia.org/wiki/File:Row_of_bombs.png
NB: En fonction de la version du système d'exploitation, les graphismes de la bombe peuvent varier légèrement. Mais prenons celui-ci comme référence.
Le nombre de bombes dépend du vecteur d'exception, les plus courantes étant:
- (008 $) Erreur de bus: 2 bombes
- ($ 00c) Erreur d'adresse: 3 bombes
- (010 $) Instruction illégale: 4 bombes
Objectif
Votre objectif est d’écrire un programme ou une fonction qui imprime ou produit un art ASCII de telles bombes Atari ST.
Contribution
Un entier représentant le nombre de bombes à afficher. Votre code doit prendre en charge les valeurs les plus courantes: 2, 3 et 4. Prendre en charge moins et / ou plus de bombes est acceptable, mais il n’est ni requis ni soumis à un bonus.
Sortie
La bombe originale consiste en une tuile de 16 x 16 pixels, représentée ici à la fois en ASCII et en binaire:
....##.......... 0000110000000000
.#.#..#......... 0101001000000000
.......#........ 0000000100000000
#..#....#....... 1001000010000000
..#...#####..... 0010001111100000
......#####..... 0000001111100000
....#########... 0000111111111000
...###########.. 0001111111111100
...###########.. 0001111111111100
..#############. 0011111111111110
..########.####. 0011111111011110
...#######.###.. 0001111111011100
...######.####.. 0001111110111100
....#########... 0000111111111000
.....#######.... 0000011111110000
.......###...... 0000000111000000
Dans ce défi, chaque bombe ASCII doit être étirée à deux fois sa largeur d'origine pour un meilleur rendu. Par conséquent, il se composera de 16 lignes de 32 caractères, en utilisant ##
pour les pixels "ON" et deux espaces pour les pixels "OFF". Toutes les tuiles de bombe doivent être mises côte à côte. Les espaces principaux sont interdits. Les espaces de fuite sont également interdits, à l'exception de ceux qui font réellement partie de la tuile bombe (c'est-à-dire les 31e et 32e colonnes) qui doivent être présents. Vous ne pouvez pas inclure plus d'un saut de ligne de tête et pas plus d'un saut de ligne de fuite.
Exemple
Vous trouverez ci-dessous la sortie de référence pour deux bombes, où les sauts de ligne obligatoires sont marqués comme \n
et les sauts de ligne supplémentaires tolérés sont marqués comme suit (\n)
:
(\n)
#### #### \n
## ## ## ## ## ## \n
## ## \n
## ## ## ## ## ## \n
## ########## ## ########## \n
########## ########## \n
################## ################## \n
###################### ###################### \n
###################### ###################### \n
########################## ########################## \n
################ ######## ################ ######## \n
############## ###### ############## ###### \n
############ ######## ############ ######## \n
################## ################## \n
############## ############## \n
###### ###### (\n)
(Bien entendu, d'autres formats de saut de ligne tels que \r
ou \r\n
peuvent tout aussi bien être utilisés.)
Règles
C'est du code-golf, donc la réponse la plus courte en octets est gagnante. Les échappatoires standard sont interdites.