आउटपुट एक ASCII "स्प्लिट"


10

यदि आप किसी दिए गए दिशा में ASCII अंडा फेंकते हैं, तो आप आकार के n के ASCII विभाजन के साथ समाप्त होते हैं । यह एक o(जर्दी) के साथ "शुरू होता है" , और "लाइनों" के साथ दिए गए दिशा में 2 से n तक है **के एक "अंतरिक्ष" द्वारा अलग किए जाते हैं, और oऔर सभी के "लाइनों" *के "अंतरिक्ष" के "लाइनों" से अलग होती है।

oउदाहरण के लिए, आठ दिशाओं में से कोई भी हो सकता है :

1 2 3
4 o 5
6 7 8

यहाँ ASCII दिशाओं में आकार ४ के चपटे उदाहरण हैं 5, 2और 3क्रमशः। बाईं तरफ वास्तविक ASCII सूचक है, और सही पर एक ही सूचक लेकिन "अंतरिक्ष" के "लाइनों" वास्तविक "लाइनों" के साथ प्रतिस्थापित (यानी के साथ है -या \या |दिशा के आधार पर) अभी स्पष्ट करने के लिए क्या एक मतलब है अंतरिक्ष की "लाइन"।

Size 4, direction 5
      *      | | |*
    *        | |*| 
  *   *      |*| |*
o   *       o| |*| 
  *   *      |*| |*
    *        | |*| 
      *      | | |*

Size 4, direction 2
* * * *     * * * *
            -------
 * * *       * * *
            -------
  * *         * *
            -------
   o           o

Size 4, direction 3   
*           *      
            \
* *         *\*    
            \ \
* * *       *\*\*
            \ \ \ 
o * * *     o\*\*\*

चुनौती

दिए गए n write 1 और 8 संभावित दिशाओं में से एक, एक फ़ंक्शन या प्रोग्राम लिखें जो दिए गए दिशा में आकार n के ASCII ब्याह को आउटपुट करता है ।

इनपुट और आउटपुट

किसी भी सुसंगत, उचित इनपुट प्रारूप की अनुमति है। आपको पूर्णांक 1 से 8 के लिए दिशा-निर्देशों को मैप करने की आवश्यकता नहीं है उसी तरह मैंने किया था - यदि दिशा निर्दिष्ट करने का कुछ अन्य तरीका आसान है, तो आगे बढ़ें। लेकिन कहो कि तुमने क्या किया अगर यह स्पष्ट नहीं है।

उत्पादन से मिलकर बनता है o, *, रिक्त स्थान (U + 0020) और नई-पंक्तियों (U + 000A) कि ASCII सूचक का उत्पादन। अग्रणी, अनुगामी, अन्यथा किसी भी लाइन पर अतिरिक्त व्हाट्सएप की अनुमति है।

नियम

यह । मानक नियम लागू होते हैं।

और ज्यादा उदाहरण

Size 1, any direction
o

Size 3, direction 6
* * o

  * *

    *

Size 5, direction 7
    o    

   * *

  * * *

 * * * *

* * * * *

जवाबों:


3

चारकोल , 20 18 बाइट्स

↘EN×*⊕ιM↗oUE¬﹪η²⟲η

इसे ऑनलाइन आज़माएं! लिंक कोड के वर्बोज़ संस्करण के लिए है। स्पष्टीकरण:

↘EN×*⊕ι

छपों का विकर्ण त्रिभुज बनाएँ।

M↗o

अंडा रखें।

UE¬﹪η²

यहां तक ​​कि घुमावों के लिए, आउटपुट आवश्यकता से मेल खाने के लिए क्षैतिज रूप से विस्तार करें। यह आवश्यकता चारकोल की सामान्य अपेक्षाओं से मेल नहीं खाती है। इसे ऑनलाइन आज़माएं! (क्रिया) इसके बिना कैसा दिखता है।

⟲η

निर्देशों के लिए निम्नलिखित कोड का उपयोग करते हुए, आवश्यकतानुसार घुमाएँ:

321
4o0
567

यह 37 31-बाइट संस्करण केवल समकोण में घूमने से बाहरी व्हाट्सएप से बचता है:

¿﹪η²G↘←θ*«↘Eθ×*⊕ι↗»oUE¹﹪η²⟲⊗÷η²

इसे ऑनलाइन आज़माएं! लिंक कोड के वर्बोज़ संस्करण के लिए है।



1

पायथन 2 , 185 बाइट्स

lambda n,d:'\n'.join(g([(d/4*(n+~j)*' '+('*o'[[j>n-2,j<1][d/4]]+' *'*j)*i).ljust(2*n-1)for j in range(n)for i in(0,1)][1:],d%4))
g=lambda a,n:n and g(map(''.join,zip(*a))[::-1],n-1)or a

इसे ऑनलाइन आज़माएं!

क्रमांक 0 से 7 तक है, निम्नानुसार है:

1 6 0
7 o 5
2 4 3

नोट्स: अधिकांश काम (मेरी संख्या प्रणाली में) के लिए बुनियादी पैटर्न उत्पन्न करना है 0और 4। फिर फ़ंक्शन अन्य परिणामों को उत्पन्न करने के लिए पुनरावृत्ति के माध्यम से gसरणी को a90 डिग्री d%4बार घुमाता है ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.