अन्य चुनौती को देखना सुनिश्चित करें, ASCII चरित्र मानचित्र को उलट दें !
एएससीआईआई चारसेट (सूचना मानक के लिए अमेरिकी मानक कोड) सबसे व्यापक रूप से इस्तेमाल किया जाने वाला चरित्र एन्कोडिंग मानक है। ASCII कोड कंप्यूटर, दूरसंचार उपकरण और अन्य उपकरणों में पाठ का प्रतिनिधित्व करते हैं।
चुनौती
आपकी चुनौती ASCII वर्ण के मानचित्रण को प्रिंट करना है, क्योंकि उपयोगकर्ता उन्हें इनपुट करता है। GIF:
उपयोगकर्ता द्वारा प्रत्येक ASCII वर्ण में प्रवेश करने के बाद, आउटपुट इस तरह दिखना चाहिए:
मानचित्रण
प्रत्येक वर्ण में 16x6 लॉजिकल ग्रिड पर एक नियत स्थान होता है, जो शीर्ष बाईं स्थिति में अंतरिक्ष चरित्र के साथ शुरू होता है, और ऐसा लपेटता है कि अंक 0 इसके नीचे दिखाई देता है।
जब प्रिंट करने योग्य ASCII इनपुट प्राप्त होता है, तो उस ASCII वर्ण को अपने असाइन किए गए स्क्रीन स्थान पर वर्तमान में ऑनस्क्रीन वर्णों को हटाने के बिना प्रिंट करें।
नियम
- आपके प्रोग्राम को केवल मुद्रण योग्य ASCII वर्णों को मैप करना है,
0x20
को0x7E
। - जब तक सभी मुद्रण योग्य ASCII वर्ण इनपुट नहीं हो जाते, तब तक आपके प्रोग्राम को समाप्त नहीं होना चाहिए और स्क्रीन पर पात्रों को मैप करना जारी रखना चाहिए। यहां से, आपका प्रोग्राम या तो समाप्त हो सकता है या नेवरलैंड में बंद हो सकता है।
- आपका प्रोग्राम किसी भी तरह से आपके चरित्र को मैप कर सकता है, जैसे कि स्प्रेडशीट, टेबल, कंसोल विंडो, या ग्राफिकल विंडो।
- कोई फर्क नहीं पड़ता कि आप मानचित्रण कैसे प्रदर्शित करते हैं, इसे रियलटाइम में अपडेट किया जाना चाहिए (जैसे ही यह उपयोगकर्ता इनपुट प्राप्त करता है)।
- यदि आपका प्रोग्राम चुपचाप इनपुट नहीं पढ़ता है, तो उसे कर्सर को रास्ते से बाहर करना होगा, इसलिए टेक्स्ट मैप के रास्ते में नहीं आएगा।
मदद
यहाँ pseudocode एल्गोरिथ्म है जिसका उपयोग मैंने GIF बनाने के लिए किया था:
loop forever
c = input
y_coord = c / 16
x_coord = c - y * 16
if c is printable
print c at (x_coord * 2 + 1, y_coord + 1)
end if
end loop
आवश्यक आउटपुट प्राप्त करने का एक और तरीका हो सकता है। आप मेरे एल्गोरिथ्म या अपने स्वयं के उपयोग के लिए चुन सकते हैं, लेकिन आउटपुट समान रूप से होना चाहिए।
यहां एक उपयोगी ASCII तालिका संदर्भ है।
स्कोरिंग
प्रत्येक भाषा में सबसे कम बाइट के साथ उत्तर जीतता है। मज़े करो!