pb (NONCOMPETING), 125 बाइट्स
^w[B!0]{>}w[B!45]{<w[B=10]{t[T+1]b[0]}}v[X]vw[T!0]{vb[124]<[X]b[124]>w[B=0]{>}t[T-1]}w[X!1]{<b[95]}<w[B!0]{^}w[Y!-1]{b[47]>^}
Pbi का संस्करण जिसे आपको इस उत्तर को चलाने की आवश्यकता है वह प्रश्न की तुलना में नया है। इसने पुराने संस्करणों में काम किया होगा, सिवाय इसके कि मुझे इनपुट में नए सिरे से अनुमति देने के लिए कभी नहीं मिला। ओह अच्छा।
सबसे पहले, यह इनपुट में newlines की गिनती करके बॉक्स की ऊंचाई निर्धारित करता है। एक बार जब यह पता चल जाता है कि, यह बॉक्स के दाईं ओर के Y स्थान पर जाता है, नीचे जाता है जहाँ इसे होना चाहिए और ढक्कन के साथ दीवारों और फर्श को खींचता है।
इस मजेदार एनीमेशन की जाँच करें!
लंबा पोज इनपुट पर जा रहा ब्रश है।
Ungolfed:
^w[B!0]{>} # Go to the end of the input
w[B!45]{< # Head left until hitting a hyphen
w[B=10]{ # For each newline on the way:
t[T+1] # Count it
b[0] # Delete it
}
}
v[X] # Move down as far as it is right + the number of \n
v # ...plus one
w[T!0]{ # While the counting variable is nonzero:
vb[124] # Go down and draw a pipe
<[X]b[124] # Draw a pipe on the left as well
>w[B=0]{>} # Go back to the right side
t[T-1] # Decrement variable
}
w[X!1]{<b[95]} # Draw the bottom of the box
<w[B!0]{^} # Go up the left wall
w[Y!-1]{b[47]>^} # Go up and right, drawing the lid