* * <> , 103 101 बाइट्स
<vD[3'(")'
1x<.5
S\:43_C43CdooI:o@:o@:o@Do
R!"^"x"v">
>:2* _"><"92.
x '>)">('u.02S*2:oooooodO<'<("<)'
यहाँ कोशिश करो! ( n
प्रारंभिक स्टैक पर लिखें या आपको एक त्रुटि मिलेगी)
मैं अपनी चुनौती पर एक छुरा लेने का फैसला किया क्योंकि कोई उप 100 बाइट्स जवाब नहीं थे। n
स्टैक पर जगह और दूर तुम जाओ! यह (")
कुछ बाइट्स को बचाने के लिए वर्णों का पुन: उपयोग करता है ।
व्याख्या
initialisation
<vD[3'(")'
यहां हम (")
बाद के उपयोग के लिए स्टोर करते हैं।
< move the IP left
[3'(")' push '(")' to a new stack
D move back down to a clean stack
v move the IP down into "dance chooser"
नृत्य करने वाला
1x<.5
\
यह अक्सर यह चुनने के लिए निष्पादित किया जाता है कि हम किस प्रकार का नृत्य उत्पन्न करने जा रहे हैं।
x generate a 100ms dance or a 200ms dance
1 .5 jump to "200ms dance"
\ mirror IP into "100ms dance"
एक भी नहीं है v
इसके बाद के संस्करण x
और एक <
भी इसके बारे में सही करने के लिए। x
यदि यह IP को गलत दिशा में ले जाने का प्रयास करता है तो ये फिर से निष्पादित हो जाते हैं।
100ms नृत्य उत्पन्न करें
S\:1*43_C43CdooI:o@:o@:o@Do
यहां हम 100ms डांस मूव्स में से एक को जेनरेट और आउटपुट करते हैं।
\ mirror the IP right
: copy n
43 C43C call "generate '^' or 'v'" twice
_ ignored mirror
do output a carriage return
o output the first hand of the bird
I:o@:o@:o@D select, copy, and output '(")'
o output the second hand of the bird
S sleep for previous n*100ms
\ mirror IP back to "dance chooser"
43C - "^" या "v" उत्पन्न करें
R!"^"x"v">
यह एक सरल कार्य है जो "^" या "v" उत्पन्न करता है, फिर लौटता है। यह डांस चॉसर के समान काम करता है, जहां यह x
सुनिश्चित करने के लिए चारों ओर निर्देश है कि आईपी केवल बाएं या दाएं चलता है।
x generate "^" or "v"
R!"^" > push "^" to stack and return
R "v" push "v" to stack and return
200 मी डांस जनरेट करें
यह एक और है जो इसके साथ शुरू होता है x
। इसे दो खंडों में विभाजित किया जाएगा: <(")>
और दूसरा (>")> and <("<)
, क्योंकि वे दो अलग-अलग खंड हैं और x
केवल एक चीज है जो वे साझा करते हैं।
<(")>
>:2* _"><"b2.
यह मूल रूप से generate 100ms dance
दिनचर्या की शुरुआत करता है, लेकिन ><
एक यादृच्छिक ^v
कॉम्बो के बजाय पक्षी के हाथों को आबाद करता है । यह n
इस समय के साथ-साथ दो गुणा हो जाता है। यह generate 100ms dance
पूरे पक्षी के उत्पादन के लिए दिनचर्या का उपयोग करने के लिए और इसके बजाय 200ms की प्रतीक्षा करने के लिए सभी सेटअप करता है ।
> move IP right
:2* copy n and do n*2
_ ignored mirror
"><" push "><" to stack
b2. jump to "output carriage return" in "generate 100ms dance"
(>")>
तथा <("<)
x '>)">('u.02S*2:oooooodO<'<("<)'
यह थोड़ा स्पष्टीकरण (>")>
और <("<)
पीढ़ी के बारे में है , हालांकि इसके x
बाहर आईपी भेज सकते हैं (नीचे समझाया गया है)।
x move to "choose dance", generate (>")>, <("<), or <(")> (previous routine)
'>)">(' push '(>")>' to the stack
'<("<)' push '<("<)' to the stack
u O< ensure inner code block is always executed with IP moving left
od output carriage return
ooooo output bird
S*2: sleep for n*200ms
.02 jump to "dance chooser"