একটি ASCII "splat" আউটপুট


10

যদি আপনি কোনও ASCII ডিম একটি নির্দিষ্ট দিকের দিকে ফেলে দেন তবে আপনি একটি ASCII আকার এন এর স্প্ল্যাট দিয়ে শেষ করবেন । এটি একটি o(কুসুম) দিয়ে "শুরু হয়" এবং একটি নির্দিষ্ট দিক পর্যন্ত অব্যাহত থাকে "রেখাগুলি" সহ 2 টি পর্যন্ত এন * 'গুলি থাকে। এর *একটি "স্পেস" দ্বারা পৃথক করা হয় oএবং এর সমস্ত *"লাইন" "স্পেস" এর "লাইন" দ্বারা পৃথক করা হয়।

স্প্ল্যাটের দিকনির্দেশটি আট দিকের যে কোনও একটি হতে পারে o, উদাহরণস্বরূপ:

1 2 3
4 o 5
6 7 8

এখানে নির্দেশাবলী মধ্যে আকার 4 হওয়া ASCII splats উদাহরণ 5, 2এবং 3যথাক্রমে। বামদিকে আসল এএসসিআইআই স্প্ল্যাট রয়েছে এবং ডানদিকে একই স্প্ল্যাট রয়েছে তবে "স্পেস" এর "লাইনের" সাথে প্রতিস্থাপন করা হয়েছে প্রকৃত "লাইন" ( -অথবা \বা |দিকের উপর নির্ভর করে) কেবল একটি দ্বারা কী বোঝানো হয়েছে তা স্পষ্ট করতে স্থানের "লাইন"।

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

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

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

চ্যালেঞ্জ

প্রদত্ত এন ≥ 1 এবং 8 সম্ভব দিকনির্দেশ এক, একটি ফাংশান বা প্রোগ্রাম লিখতে যে আকারের আউটপুট হওয়া ASCII splat এন দেওয়া দিক।

ইনপুট এবং আউটপুট

যে কোনও সামঞ্জস্যপূর্ণ, যুক্তিসঙ্গত ইনপুট ফর্ম্যাট অনুমোদিত। আমি যেমনটি করেছি ঠিক তেমনভাবে আপনার পূর্ণসংখ্যার 1 থেকে 8 এর দিকে দিকনির্দেশের প্রয়োজন নেই - দিকনির্দেশনা নির্দিষ্ট করার কোনও অন্য উপায় যদি সহজ হয় তবে এগিয়ে যান। তবে বলুন আপনি কী করেছেন তা পরিষ্কার না হলে।

আউটপুট গঠিত হবে o, *, স্পেস (ইউ + + 0020) এবং নতুন লাইন (ইউ + + 000A) যে হওয়া ASCII splat উত্পাদন। শীর্ষস্থানীয়, চলমান, অন্যথায় যে কোনও লাইনে অতিরিক্ত শ্বেতপথের অনুমতি রয়েছে।

বিধি

এটি । স্ট্যান্ডার্ড বিধি প্রয়োগ।

আরও উদাহরণ

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¹﹪η²⟲⊗÷η²

এটি অনলাইন চেষ্টা করুন! লিঙ্কটি কোডটির ভার্জোজ সংস্করণ।


2

জেলি , 37 বাইট

”*ẋK¥ⱮmṠ©}”oḷ""LḶ⁶ẋƲ;"ṚƊ®¡z⁶K€ZU$A}¡Y

এটি অনলাইন চেষ্টা করুন!

গতিপথ:

[12345678][21342134]


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বার ঘোরাফেরা করে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.