एएससीआईआई कला के किसी भी टुकड़े को एक एनिमेटेड बर्फ दृश्य में बदलने के लिए सबसे छोटा कार्यक्रम लिखें, जो गिरने वाली बर्फ ( गैर-गोल्फ वाले जावास्क्रिप्ट उदाहरण पिछले अद्यतन 2011-12-19) से बनना शुरू होता है ।
इनपुट विनिर्देशन : आपके कार्यक्रम को रिक्त स्थान, तारांकन और नई सूचियों के मनमाने संयोजन को स्वीकार करना चाहिए। इनपुट में अधिकतम 23 लाइनें और प्रति पंक्ति 80 वर्ण होंगे। कोई खाली लाइनें नहीं होंगी, फिर भी लाइनों में केवल व्हाट्सएप हो सकता है। एक एकल अनुगामी न्यूलाइन को शामिल किया जाएगा और इसे अनदेखा किया जाना चाहिए।
आउटपुट : आउटपुट ASCII वर्ण (रिक्त स्थान, तारांकन) और नियंत्रण कोड (गाड़ी रिटर्न, लाइनफीड, ANSI एस्केप कोड, आदि) आपके ऑपरेटिंग सिस्टम के टेक्स्ट कंसोल या टर्मिनल एमुलेटर के लिए जब तक उपयोगकर्ता मैन्युअल रूप से प्रोग्राम समाप्त नहीं करता। आप मान सकते हैं कि टर्मिनल विंडो 80x24 वर्ण है यदि आपका ऑपरेटिंग सिस्टम उस सेटिंग को अनुमति देता है।
नियम :
- एनीमेशन सुचारू और तेज़ होना चाहिए (15 एफपीएस पसंदीदा)।
- बर्फ का घनत्व 5% से 15% के बीच होना चाहिए।
- बर्फ की एक से अधिक स्क्रीन प्रति सेकंड स्क्रॉल नहीं हो सकती है। (इसका मतलब है कि किसी भी दूसरी अवधि में नई बर्फ की 24 से अधिक लाइनें नहीं जोड़ी जा सकती हैं।)
- बर्फ को किसी भी स्पष्ट पैटर्न को प्रदर्शित नहीं करना चाहिए क्योंकि यह स्क्रीन के शीर्ष में प्रवेश करता है; यह यादृच्छिक दिखना चाहिए।
- कार्यक्रम को जितनी जल्दी हो सके स्क्रीन के सभी पंक्तियों को बर्फ से भरना चाहिए; स्क्रीन की अलग-अलग पंक्तियों की प्रारंभिक फिलिंग दर्शक को स्पष्ट नहीं होनी चाहिए।
- इनपुट ASCII कला के निचले बाएं कोने को स्क्रीन के निचले बाएं कोने में होना चाहिए (आगे स्पष्टीकरण के लिए चित्र 1)।
- ASCII कला के अंदर या नीचे का क्षेत्र स्थायी रूप से तारांकन से भरा नहीं होना चाहिए। हालाँकि, इस क्षेत्र में तारांकन (लेकिन इसकी आवश्यकता नहीं है) स्क्रॉल कर सकते हैं।
- इनपुट में दिखाए गए अनुसार बर्फ को स्क्रीन के नीचे या मौजूदा बर्फ के ऊपर जमा नहीं होना चाहिए।
- निचले स्थानों को ऊपरी लोगों से पहले भरना चाहिए, क्योंकि विपरीत क्रम में रिक्त स्थान भरने से क्रिसमस ट्री का एनीमेशन मेरे मूल कोड के आउटपुट से बहुत अलग दिखता है। (जोड़ा गया 2011-12-20)
छुट्टियां आनंददायक हों!
चित्र 1: 80x24 स्क्रीन के लेबल वाले क्षेत्र
---------------------------New snow added on this line--------------------------
|
|
----------------------------------------------------------+ |
**** | |
Snow MUST fall Snow MAY fall ----------------> **** | |
through this through these **** **** | Snow MUST fall |
area. areas of a **** **** | through this |
completed \---------> **** ****| area. |
ASCII art scene. \ *** **** ****| |
area \ \ ******* **** ****| |
\ \ ******** *** ***| (ALL CAPS terms |
(located in \ \--> ********* *** | have standard |
lower left \ ******* ****** MAY | RFC 2119 |
corner of \ ************* ** fall | meanings.) |
screen) \ *********** here | |
*** +---> **** *** | |
*** | **************** *** | |
| Snow MUST fall *** | **************** *** | |
| through this *** +---> *** | |
| area. *** | **************** *** | |
--+---------------------+*** +---> ***+----+------------------+--
| Snow MUST NOT |****************************| Snow MUST NOT |
V accumulate here. |****************************| accumulate here. V
उदाहरण इनपुट
कोड गोल्फ बैनर
****** ******* ******** ******** ****** ******* ** ********
** ** ** ** ** ** ** ** ** ** ** ** **
** ** ** ** ** ** ** ** ** ** **
** ** ** ** ** ****** ** **** ** ** ** ******
** ** ** ** ** ** ** ** ** ** ** **
** ** ** ** ** ** ** ** ** ** ** ** **
****** ******* ******** ******** ****** ******* ******** **
ढेर अतिप्रवाह लोगो
****
****
**** ****
**** ****
**** ****
*** **** ****
******* **** ****
******** *** ***
********* ***
******* ******
************* **
***********
*** **** ***
*** **************** ***
*** **************** ***
*** ***
*** **************** ***
*** ***
****************************
****************************
क्रिसमस ट्री
*
*** *
* ***** ***
*** ******* * *****
***** ********* *** *
* *********** *****
* ************* *******
* *** *************** * *
*** ***** ***************** ***
***** ******* ******************* *****
******* * ********************* *******
********* * *********
* *