परिचय
अटारी अनुसूचित जनजाति के मध्य 80 के दशक से एक नहीं बल्कि लोकप्रिय पर्सनल कंप्यूटर 90 के दशक युग के लिए, एक मोटोरोला 68000 माइक्रोप्रोसेसर द्वारा संचालित किया गया था। इस मशीन पर, अनकैप्ड सीपीयू अपवादों के लिए ऑपरेटिंग सिस्टम का डिफ़ॉल्ट व्यवहार स्क्रीन पर बमों की एक पंक्ति प्रदर्शित करना था, जैसा कि निम्नलिखित चित्र में दिखाया गया है:
स्रोत: https://commons.wikimedia.org/wiki/File:Row_of_bombs.png
NB: OS संस्करण के आधार पर, बम ग्राफिक्स थोड़ा भिन्न हो सकते हैं। लेकिन इसे संदर्भ के रूप में लेते हैं।
बमों की संख्या अपवाद वेक्टर पर निर्भर करती है, जो सबसे आम हैं:
- ($ 008) बस त्रुटि: 2 बम
- ($ 00c) पता त्रुटि: 3 बम
- ($ 010) अवैध निर्देश: 4 बम
लक्ष्य
आपका लक्ष्य एक प्रोग्राम या फ़ंक्शन लिखना है जो ऐसे अटारी एसटी बमों के ASCII कला को प्रिंट या आउटपुट करता है।
इनपुट
प्रदर्शित करने के लिए बमों की संख्या का प्रतिनिधित्व करने वाला पूर्णांक। आपके कोड को सबसे सामान्य मूल्यों का समर्थन करना चाहिए: 2, 3 और 4. कम और / या अधिक बम का समर्थन करना ठीक है, लेकिन यह न तो आवश्यक है और न ही बोनस के अधीन है।
उत्पादन
मूल बम में एक 16x16 पिक्सेल टाइल होती है, जो ASCII और बाइनरी दोनों में यहाँ दर्शाई गई है:
....##.......... 0000110000000000
.#.#..#......... 0101001000000000
.......#........ 0000000100000000
#..#....#....... 1001000010000000
..#...#####..... 0010001111100000
......#####..... 0000001111100000
....#########... 0000111111111000
...###########.. 0001111111111100
...###########.. 0001111111111100
..#############. 0011111111111110
..########.####. 0011111111011110
...#######.###.. 0001111111011100
...######.####.. 0001111110111100
....#########... 0000111111111000
.....#######.... 0000011111110000
.......###...... 0000000111000000
इस चुनौती में, प्रत्येक ASCII बम को बेहतर प्रतिपादन के लिए इसकी मूल चौड़ाई से दोगुना तक बढ़ाया जाना चाहिए। इसलिए, इसमें 32 वर्णों की 16 पंक्तियाँ होंगी, जिनमें ##
'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
बस इस्तेमाल किया जा सकता है।)
नियम
यह कोड-गोल्फ है, इसलिए बाइट्स में सबसे कम जवाब जीतता है। मानक खामियों को मना किया जाता है।