बज़बी बर्कले रोबोट होके पोके
कार्य
एक बसबे बर्कले नंबर की शैली में होके पोके (या कोकी, यदि आप चाहें तो) के गीतों पर नाचने वाले रोबोटों की एक पंक्ति का चित्रण करते हुए ASCII कला एनीमेशन बनाने के लिए एक कार्यक्रम या फ़ंक्शन लिखें!
उदाहरण आउटपुट
इनपुट
तीन तर्क स्वीकार करते हैं (मान्य माना जाता है):
एन = पंक्ति में रोबोट की संख्या (न्यूनतम = 6)
बी = मिलीसेकंड में एक "बीट" की अवधि (न्यूनतम = 10)
डी = लगातार रोबोट के बीच एमएस में देरी (न्यूनतम = 0)
(ऊपर दिए गए उदाहरण आउटपुट में: N = 8, B = 380, C = 75)
विशेष विवरण
एन रोबोट को एक मंच पर एक पंक्ति में दिखाया गया है।
"कविता" से पाठ की एक पंक्ति को मंच के नीचे एक समय पर दिखाया गया है (1 वर्ण के भीतर केंद्रित है, और उद्धरण चिह्नों में संलग्न है।)
रोबोट प्रत्येक पंक्ति के लिए क्रियाएं करते हैं क्योंकि यह दिखाया गया है जब तक कि कविता को 5 बार दोहराया नहीं गया है।
ASCII वर्णों के सेट का उपयोग करके रोबोट का चित्रण करके एक क्रिया का प्रदर्शन किया जाता है और अगली क्रिया करने से पहले एक निर्दिष्ट अवधि की प्रतीक्षा की जाती है। एक क्रिया की अवधि को "बीट्स" में मापा जाता है। 1 बीट की अवधि कई मिलीसेकंड, बी है ।
पहला रोबोट पंक्ति के पाठ प्रदर्शित होने पर तुरंत प्रत्येक पंक्ति के लिए क्रिया करना शुरू कर देता है।
प्रत्येक बाद वाला रोबोट अपने कार्यों को शुरू करने में देरी करता है जब तक कि विशिष्ट समय ( D ) तक रोबोट अपने दाएं (आपके बाएं!) अपने कार्यों को शुरू नहीं करता है।
रोबोट के "एंटीना" का प्रतिनिधित्व करने वाले ASCII पात्रों द्वारा रोबोट के चित्रण अलग-अलग होते हैं, जिनमें से 5 संभावित प्रकार होते हैं, जो प्रोग्राम चलने पर हर बार बेतरतीब ढंग से वितरित होते हैं।
प्रत्येक प्रकार के एंटीना का उपयोग कम से कम एक रोबोट द्वारा किया जाना चाहिए, लेकिन 3 अन्य से कम रोबोटों द्वारा अलग किए गए किसी भी रोबोट पर एक ही प्रकार दिखाई नहीं देना चाहिए। किसी भी दो प्रकार के एंटीना की मात्रा 1 से अधिक नहीं हो सकती है (उदाहरण 1xType_4 और 3xType_5 3-1> 1 के बाद से अवैध है)
श्लोक और कार्य
पूरे कविता को 5 बार, 1 लाइन एक बार में दोहराया जाता है ...
Line Text Action/Beats,
---- ----------------------------- ------------------------------------
1 You put your ? in ??/4
2 You take your ? out AA/4
3 You put your ? in ??/4
4 And you shake it all about AA/1, ??/1, AA/1, ??/1
5 You do the Hokey Pokey and...
...you turn yourself around AA/1, H[1-7]/1
6 That's what it's all about! AA/4, ZZ/4
कविता के प्रत्येक पुनरावृत्ति (आर) के लिए, स्थानापन्न? तथा ??...
R ?= ??=
-- ----------- ---
1. right foot RF
2. left foot LF
3. right hand RH
4. left hand LH
5. whole self WS
क्रियाएँ और ASCII पैटर्न
प्रत्येक लेबल की गई कार्रवाई को 8 ASCII प्रतीकों की 5 लाइनों द्वारा दर्शाया गया है।
प्रत्येक क्रिया का प्रतिनिधित्व इस प्रकार है ...
1 | 12 12 12 12 12 12 12
2 | [''] [''] [''] [''] [''] [''] \[*-]
3 | └[__]┘ └[__]┘ └[__]┘┌[__]┘ └[__]┐ ┌[__]┐ [__]\
4 | || /< >\ <\ /> / \ /|
5 |--------------------------------------------------------
|\__AA__/\__RF__/\__LF__/\__RH__/\__LH__/\__WS__/\__ZZ__/
1 | 12 12_ 34_ 34 _34 _12 12
2 | [''] [" ] [ _] [__] [_ ] [ "] ['']
3 | >[__]< [_<] [<.] <[..]> [.>] [>_] <[__]>
4 | || |\ || /| || |\ ||
5 |--------------------------------------------------------
|\__H1__/\__H2__/\__H3__/\__H4__/\__H5__/\__H6__/\__H7__/
पंक्ति 1 में, प्रत्येक एंटीना प्रकार के लिए संबंधित चिह्न के साथ "1-4" को बदलें ...
1 | 1234 1234 1234 1234 1234
| \/\/ |┌┐| )||( |||| ┐/\┌ <-- Symbols 1-4 for...
| 1 2 3 4 5 <-- ...antenna types 1-5
उत्पादन
जब भी दृश्य की सामग्री किसी भी तरह से बदलती है, तो पूरे दृश्य को कम से कम एक बार तुरंत प्रस्तुत किया जाना चाहिए। (यानी रोबोट की क्रियाओं के बीच देरी का कारण> 0 है, आउटपुट को प्रति कार्य N बार से कम नहीं किया जा सकता है )।
आदर्श रूप से, एक एनीमेशन के लिए प्रत्येक अद्यतन प्रदान करने से पहले कंसोल या समकक्ष आउटपुट क्षेत्र को साफ कर दिया जाता है। कंसोल को खाली करने में असमर्थ भाषाओं को प्रदान करने के लिए, आउटपुट को निरंतर स्ट्रीम में भी प्रस्तुत किया जा सकता है, ऊपर वर्णित समान आवश्यकता के अधीन।
स्कोरिंग
विजेता प्रत्येक भाषा में सबसे छोटा कार्यक्रम है, साथ ही साथ सबसे छोटा भी।
अपवाद 1 क्योंकि प्रत्येक रेंडर को कंसोल को क्लियर करना बेहतर होता है, हालांकि इसकी आवश्यकता नहीं है, इस शानदार उद्देश्य के लिए विशेष रूप से उपयोग किए जाने वाले बाइट्स कुल बाइट्स की ओर नहीं गिने जाते हैं। इसमें कंसोल को साफ़ करने के लिए आदेश शामिल हैं, और कंसोल सामग्री को देखने के लिए खाली लाइनों के साथ पैडिंग आउटपुट।
अपवाद 2 CSS या प्रभावी रूप से समान साधन का उपयोग विशेष रूप से न्यूनतम आवश्यकताओं से परे आउटपुट स्टाइल करने के उद्देश्य के लिए किया जाता है जो कुल बाइट्स की ओर नहीं गिना जाता है। उदाहरण के लिए *{color:blue;text-align:center;}
केवल 32-10 = 22 बाइट्स के रूप में गिना जाता है क्योंकि color:blue;
किसी भी विनिर्देश को पूरा करने के लिए सेवा नहीं है, जबकि केंद्रित पाठ निर्दिष्ट है।
मेटा
टीआरएस -80 डांसिंग दानव , एंड्रॉइड निम , और निश्चित रूप से बुस्बी बर्कले (और नहीं, मैं ऐसा बूढ़ा नहीं हूं ) से प्रेरित होकर ।