आपने बच्चों के विज्ञान संग्रहालयों में जैकब की सीढ़ी देखी होगी । यदि आप उन चीज़ों से परिचित नहीं हैं जो वे दिखते हैं, तो विकिमीडिया कॉमन्स पर कई चित्र और वीडियो उदाहरण हैं । आज चुनौती विद्युत गैजेट के एक एनिमेटेड ASCII संस्करण बनाने की है। अंत में, यह कुछ इस तरह दिखना चाहिए:
सीढ़ी निर्माण
यहां 6 की ऊंचाई ( एच ) के साथ सीढ़ी का मूल आकार है :
6 \ /
5 \ /
4 \ /
3 \ /
2 \ /
1 \ /
0 ¯¯
बाईं ओर स्थित संख्याएं केवल इस उदाहरण के लिए पंक्ति संख्या दर्शाती हैं और इसे आउटपुट में शामिल नहीं किया जाना चाहिए। हम एक दी गई पंक्ति को उसके नंबर ( R ) से संदर्भित करेंगे । रो 0 नीचे है ¯¯
। H के माध्यम से प्रत्येक पंक्ति 1 में चार भाग शामिल हैं:
- एक स्थान
(यू + 0020) दोहराया ( एच - आर ) बार
- एक बैक स्लैश
\
(U + 005C) - एक स्थान
(U + 0020) बार (2 * R ) बार
- फ़ॉरवर्ड स्लैश
/
(U + 002F)
रो 0 समान है सिवाय इसके कि दोनों स्लैश को मैक्रोन ¯
(U + 00AF) से बदल दिया जाता है । प्रत्येक पंक्ति के अंत में या सीढ़ी के नीचे व्हाट्सएप को पीछे छोड़ना ठीक है। प्रमुख व्हाट्सएप नहीं है।
आर्क निर्माण
सीढ़ी के निर्माण के बाद, आप बाईं और दाईं ओर के बीच चाप बना सकते हैं। एक चाप पूरी तरह से एक पंक्ति के भीतर है और अग्रणी \
और अनुगामी के बीच रिक्त स्थान को प्रतिस्थापित करता है /
। इसलिए, पंक्ति 2 के आर्क में 4 अक्षर होंगे, पंक्ति 3 में 6 और इसके बाद के संस्करण होंगे। प्रत्येक चाप निम्नलिखित नियमों का उपयोग करके बना है:
- केवल स्वीकार्य पात्र हैं
_/¯\
(U + 005F, U + 002F, U + 00AF, U + 005C) - आदेश में एक चिकनी उपस्थिति सुनिश्चित करने के लिए, किसी भी
¯
या/
द्वारा एक पालन किया जाना चाहिए¯
या\
- आदेश में एक चिकनी उपस्थिति सुनिश्चित करने के लिए, किसी भी
_
या\
द्वारा एक पालन किया जाना चाहिए_
या/
- उपरोक्त दो नियम सीढ़ी के किनारों पर भी लागू होते हैं
- उपरोक्त तीन नियमों का प्रभावी रूप से मतलब है कि चाप में पहला वर्ण होना चाहिए
_
या/
अंतिम वर्ण होना चाहिए_
या\
(\¯\_//
दोनों सिरों पर अमान्य\_/¯\/
है। ठीक है) - किसी दिए गए बिंदु पर प्रत्येक स्वीकार्य चरित्र के लिए एक गैर-शून्य मौका होना चाहिए
- प्रत्येक चाप हर दूसरे चाप से स्वतंत्र होता है
एनीमेशन
एक एकल चाप का जीवन इसे पंक्ति 1 पर शुरू करके बनाया गया है और इसे शीर्ष पर पहुंचने तक एक बार में एक पंक्ति को "आगे" बढ़ाना है। IE, पहले पंक्ति 1 पर एक आर्क उत्पन्न करते हैं, फिर इसे रिक्त स्थान पर सेट करते हैं और पंक्ति 2 पर एक आर्क उत्पन्न करते हैं, और इसके बाद। ( एन ) दिखाने के लिए कई आर्क्स को देखते हुए, निम्न दिशानिर्देशों का उपयोग करके एक समय में एक के बाद एक कई आर्क्स का पूरा जीवन दिखाएं:
- किसी भी एक समय में केवल एक चाप "जीवित" होना चाहिए। अगला चाप तब तक शुरू नहीं हो सकता है जब तक कि वर्तमान शीर्ष पर नहीं पहुंच जाता है और फिर बुझ जाता है।
- चाप के जीवन की प्रत्येक पंक्ति को ठीक एक फ्रेम के लिए दिखाया जाना चाहिए
- नए आर्क शुरू होने से पहले बस मूल सीढ़ी (बिना आर्क के साथ) का एक फ्रेम होना चाहिए (पहले आर्क से पहले वैकल्पिक)
- एनीमेशन को एन आर्क्स का पूरा जीवन दिखाना चाहिए । यदि एन = 0 है, तो इसे बंद होने तक हमेशा के लिए यादृच्छिक रूप से चेतन करना चाहिए।
- यदि N > 0 है, तो आप अभी भी एनीमेशन को हमेशा के लिए लूप कर सकते हैं लेकिन यह एक ही आर्क्स का लूप होना चाहिए। (इस पोस्ट के शीर्ष पर जीआईएफ का उदाहरण एच = 6 और एन है = 3 है लेकिन यह हमेशा के लिए बंद हो जाता है।)
- एनीमेशन में जगह होनी चाहिए। यही है, प्रत्येक फ्रेम को अगले फ्रेम को पूरी तरह से लिखना चाहिए और उसी स्थान पर होना चाहिए।
- प्रत्येक फ्रेम की लंबाई आप जो भी चाहते हैं, लेकिन इसे एक मानव (आईई) द्वारा उपयोग करने योग्य बना सकते हैं, अपने सामान्य ज्ञान का उपयोग करें: 0.01s / फ्रेम और 30s / फ्रेम दोनों अस्वीकार्य हैं।)
इनपुट आउटपुट
- इनपुट और आउटपुट किसी भी मानक प्रारूप में हो सकते हैं
- आप जीआईएफ निर्यात कर सकते हैं, स्क्रीन पर पाठ लिख सकते हैं, प्रत्येक फ्रेम के लिए एक फ़ाइल का उत्पादन कर सकते हैं, या कोई अन्य उचित साधन
- मानक खामियों को मना किया जाता है
- सीढ़ी एच की ऊंचाई एक सकारात्मक पूर्णांक होगी
- एन दिखाने के लिए आर्क्स की संख्या एक गैर-नकारात्मक पूर्णांक होगी
- H और N दोनों को आपके द्वारा चुने गए किसी भी क्रम में इनपुट के रूप में लिया जाता है (कृपया अपने उत्तर में आदेश को शामिल करें)
जीतने की स्थिति
यह कोड-गोल्फ है इसलिए सबसे छोटा कोड जीतता है।
the first character in the arc must be _ or / and the last character must be _ or \
और There must be a non-zero chance for each allowable character to occur at a given point
। सममित होने के लिए, पहले और अंतिम दोनों वर्णों को _
हर एक बार होना होगा, जिसका अर्थ है कि /
या तो शून्य होने की संभावना है ।