এএসসিআইআই বিমানের ব্যানার


11

দুই ইনপুট দেওয়া - তাদের মধ্যে একজন একটি খালি মুদ্রণযোগ্য হওয়া ASCII স্ট্রিং (স্থান সহ, NEWLINE বাদে), দুটি স্বতন্ত্র আপনার পছন্দের (এর সামঞ্জস্যপূর্ণ মান অন্যান্য হচ্ছে এক 1 / 0, l / r, left / right, ইত্যাদি) - আউটপুট একটি ASCII শিল্প বিমান বাম বা ডানদিকে নির্দেশ করে স্ট্রিংয়ের ব্যানার। ধারাবাহিকতার জন্য, আমি ব্যবহার করব leftএবং rightএই চ্যালেঞ্জের বিবরণ জুড়ে।

বিমানটি |-DI>-/( left) বা \-<ID-|( right) হয়। ব্যানারটি পরিষ্কার হওয়ার কারণে এটিতে ইনপুট স্ট্রিংয়ের অক্ষরগুলি ফাঁকা স্থান দ্বারা বিভক্ত হয়, হয় বাম থেকে ডান ( left) অথবা ডান থেকে বাম ( right) এবং আকারের বাক্স দ্বারা বেষ্টিত

    /--/
---<  <
    \--\

অথবা

\--\
 >  >---
/--/

নোট বার্তা শুরুতে / শেষ মধ্যে এক স্থান হতে হবে >, <অক্ষর।

উদাহরণস্বরূপ, এখানে বার্তা HAPPY BIRTHDAY!এবং দিকনির্দেশ left:

           /-------------------------------/
|-DI>-/---< H A P P Y   B I R T H D A Y ! <
           \-------------------------------\

এখানে বার্তা PPCGএবং দিকনির্দেশ right। নোটগুলি ব্যানারটির এই দিক থেকে দেখলে "পিছনে" উপস্থিত হবে তা নোট করুন:

\---------\
 > G C P P >---\-<ID-|
/---------/

বিধি

  • শীর্ষস্থানীয় বা পিছনের নতুন লাইনের বা সাদা স্থান সমস্ত aceচ্ছিক, যতক্ষণ না অক্ষরগুলি নিজেরাই সঠিকভাবে লাইন করে থাকে।
  • হয় একটি সম্পূর্ণ প্রোগ্রাম বা একটি ফাংশন গ্রহণযোগ্য। যদি কোনও ফাংশন হয় তবে আপনি আউটপুটটি মুদ্রণের পরিবর্তে ফিরে আসতে পারেন।
  • যদি সম্ভব হয় তবে দয়া করে একটি অনলাইন পরীক্ষার পরিবেশের একটি লিঙ্ক অন্তর্ভুক্ত করুন যাতে অন্য লোকেরা আপনার কোড চেষ্টা করে দেখতে পারে!
  • স্ট্যান্ডার্ড লুফোলগুলি নিষিদ্ধ।
  • এটি তাই সাধারণ গল্ফিংয়ের সমস্ত নিয়ম প্রয়োগ হয় এবং সংক্ষিপ্ততম কোড (বাইটে) জয়ী হয়।


2
জাভাস্ক্রিপ্ট, 4 বাইট: eval- একটি প্রোগ্রাম ইনপুট করুন যা বাম জন্য একটি বাম-মুখী বিমান তৈরি করে এবং এমন একটি প্রোগ্রাম যা ডানদিকের জন্য একটি ডান-মুখী বিমান তৈরি করে rates
— darrylyeo

উত্তর:


6

জাভাস্ক্রিপ্ট (ES6), 141 138 বাইট

স্ট্রিং এবং দিকনির্দেশটি কারিটিং সিনট্যাক্সের মাধ্যমে ইনপুট।
'/\n|-DI>-/---< 'বাম '/\n|-DI<-\\---> 'জন্য, ডান জন্য।

t=>p=>(r=`${s='           '}/${_='-'.repeat(t.length*2+1)}${p}${[...t].join` `} ${d=p[12]} 
${s}\\${_}\\`,d>'<'?[...r].reverse().join``:r)


হ্যাঁ, আউটপুটটির একটি অংশকে হার্ড কোডিং করা একটি লুফোলের শোষণের মতো বলে মনে হচ্ছে, তবে লিখিত হিসাবে চ্যালেঞ্জের ভিত্তিতে এটি দুর্দান্ত মনে হচ্ছে। চতুর!
— রিক হিচকক

4
@ রিকহিচকক চূড়ান্ত লুফোলটি হ'ল eval... আপনার পছন্দের দুটি মান হিসাবে কেবল বাম এবং ডান ফাংশন উত্স সরবরাহ করুন। (আমি ভেবেছিলাম এটিতে একটি মেটা রয়েছে তবে আমি এটি খুঁজে পাচ্ছি না))
— নিল

1
@ নীল eval"কৌশল" হ'ল আত্মা হিসাবে এই ফাঁক হবে , এমনকি স্পষ্টভাবে বলা না হলেও। যদিও এই উত্তরটি দয়ালু চতুর, যদিও।
— অ্যাডমবর্কবার্ক

হ্যাঁ, আমি গুরুতর উত্তর হিসাবে পোস্ট evalকরা হবে কিনা তা নিয়ে বিতর্ক করছিলাম । ভবিষ্যতের চ্যালেঞ্জগুলির জন্য এ জাতীয় কাজ হতে পারে বাইট গণনার অংশ হিসাবে ইনপুটগুলি অন্তর্ভুক্ত করা।
— darrylyeo


4

ভি , 73 , 65 বাইট

Ó./& 
É ÄÒ-ys$/YGpr\$.11>Hj|R|-DI>-/³-<A< ÀñkæG|æ}-r>$BR>³-\-<

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

সর্বাধিক স্কোর নয়, তবে এর কারণ প্রায় অর্ধেকটি আসে আউটপুটকে উল্টানো থেকে।

Hexdump:

00000000: d32e 2f26 200a c920 c4d2 2d79 7324 2f59  ../& .. ..-ys$/Y
00000010: 4770 725c 242e 3131 3e48 6a7c 527c 2d44  Gpr\$.11>Hj|R|-D
00000020: 493e 2d2f b32d 3c1b 413c 201b c0f1 6be6  I>-/.-<.A< ...k.
00000030: 477c e616 7d2d 723e 2442 523e b32d 5c2d  G|..}-r>$BR>.-\-
00000040: 3c                                       <

বাফারে স্ট্রিংটি ইনপুট হিসাবে নেয় এবং 0বাম দিকে এবং 1ডানদিকে কমান্ড লাইন আর্গুমেন্ট হিসাবে।


4

05 এ বি 1 ই , 63 বাইট

„\\S'-¹g·>×ýD∞2äθ‚11ú"|-DI>-/---<"¸¹ε²i∞θ}J'<«S«ð«J¸«Àε²i∞2äθ}»

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

ভবিষ্যতে স্থির হতে পারে এমন বাগগুলি ভিত্তিক।


@ ম্যাজিক অ্যাক্টোপাস ইউরান সম্ভবত
— এরিক দ্য আউটগল্ফার

@ ম্যাজিক অ্যাক্টপাস ইউরান আসলে তেমন কাজ করে না ...
— এরিক দ্য আউটগল্ফার

@ ম্যাজিক অ্যাক্টপাস ইউরান 0দ্বিতীয় লাইনের এটিকে একটিতে পরিবর্তন করার চেষ্টা করুন 1।
— এরিক দ্য আউটগল্ফার

আহ, নেতৃস্থানীয় স্থান ...
— ম্যাজিক অক্টোপাস উরান

4

কাঠকয়লা , 44 40 39 35 বাইট

|-DI>-/³↗<→/-LηLη↙¹←< ¿N↷⁴‖T⮌⪫η ‖B↓

এটি অনলাইন চেষ্টা করুন! লিঙ্কটি কোডটির ভার্জোজ সংস্করণ। প্রথম ইনপুটটি ডানের জন্য 1 এবং বামের জন্য 0, দ্বিতীয়টি ব্যানার স্ট্রিং। সম্পাদনা: বর্তমানে একটি কার্সার পজিশনিং বাগ রয়েছে হিসাবে ব্যবহার করে 1 বাইট সংরক্ষণ করা হয়েছে, তবে আমি মুদ্রণের দিকটি উল্টিয়ে আরও 4 বাইট সংরক্ষণ করেছি এবং এখন আমি যেটি ব্যবহার করি তা বিবেচ্য নয়। 38 34 32 বাইট সংস্করণ যদি ব্যানার মিরর করার অনুমতি দেওয়া হয়:ReflectButterfly(:Up) ReflectButterfly(:Down)

|-DI>-/³P⪫⪫<<η ↘→\-LηLη↖¹‖B↑¿N‖T

এটি অনলাইন চেষ্টা করুন! লিঙ্কটি কোডটির ভার্জোজ সংস্করণ। প্রথম ইনপুটটি ডানের জন্য 0 এবং বাম দিকে 1। ব্যাখ্যা:

|-DI>-/

বিমানটি মুদ্রণ করুন।

³↗<→/-LηLη↙¹←< 

বাক্সের উপরের অর্ধেক মুদ্রণ করুন (নোট পেছনের স্থান)।

¿N↷⁴‖T

দ্বিতীয় ইনপুটটি যদি ননজারো হয় তবে মুদ্রণের দিকটি উল্টো করুন, অন্যথায় প্লেন এবং বাক্সটি প্রতিফলিত করুন।

⮌⪫η 

অতিরিক্ত ব্যবধান সহ বার্তাটি মুদ্রণ করুন (নোট ট্রেলিং স্পেস)। কার্সারটি বিমান থেকে বাক্সের একেবারে প্রান্তে রয়েছে সুতরাং বার্তাটি বিপরীত করা দরকার।

‖B↓

বাক্সের নীচের অর্ধেকটি পেতে প্রতিফলিত করুন।


ভার্বোজ সংস্করণে সমস্যা আছে বলে মনে হচ্ছে।
— এরিক আউটগল্ফার

@ এরিকথিউটগল্ফার ড্যাভারবোসিফায়ারটি সম্প্রতি ভেঙে গেছে; টিআইওর কাছে এখনও ঠিক আছে বলে মনে হচ্ছে না।
— নিল

2

জেলি , 68 65 বাইট

“/\<“\/>”y
³K“|-DI>-/---< “ < ”j
LḤ‘”-x⁾//jṭ⁶x11¤Fµ,Ñj¢œs3U⁴¡YÑ⁴¡

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

ডানে 1, বাম দিকে 0 নেয়।

-3 বাইটস @ জোনাথান অ্যালানকে ধন্যবাদ ( গ্রাআর আমি সবসময় ভুলে যাই AB+একই রকম হয় B+@A)


³K“|-DI>-/---< “ < ”jএকটি বাইট সংরক্ষণ করে; LḤ‘”-x⁾//jṭ⁶x11¤Fµ,Ñj¢œs3U⁴¡YÑ⁴¡একই ফ্যাশনে আরও 2 সংরক্ষণ করে।
— জোনাথন অ্যালান

1

কাঠকয়লা , 56 বাইট

-8 বাইটস পুরোপুরি মানবিক এবং এরিককে আউটগোল্ফারকে ধন্যবাদ !

≔⪫S θ≔⁺Lθ²η× ¹¹/η/⸿|-DI>-/³<× η<‖B↓FN«‖TM⁺η³→≔⮌θθ»↑↑Mη←θ

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

উল্লিখিত মামলাগুলির সমাধান করা বাইট গণনায় যথেষ্ট পরিমাণে ক্ষতিগ্রস্থ হয়েছিল। 36 বাইট যদি আমরা মত অক্ষর বিপরীত করার অনুমতি দেওয়া হয় <এবং /।


1
অজগর, ' '.join(s)কাজ। অবশ্যই যে কাঠকয়লা ব্যবহার করা যেতে পারে?
— সম্পূর্ণরূপে

1
@ টোটালিহুমান স্ট্রিংয়েও Joinকাজ করে।
— এরিক দি আউটগল্ফার

উম্ম, আমি মনে করি যে এটি সম্পূর্ণমানবিক ছিল যারা আসলে এটি প্রস্তাব করেছিল।
— এরিক দ্য আউটগল্ফার

@ এরিকথ আউটগল্ফার ওহ, আমি চারকোলে পাইথনের কল করার জন্য @ সম্পূর্ণরূপে মানুষের পরামর্শকে ভুল ব্যাখ্যা করেছি ' '.join। আমি আপনাদের দুজনকেই ক্রেডিট দেব।
— notjagan

আপনি অ্যাস্ট প্রসেসরটি ভেঙে ফেলেছেন ...
— নীল


1

পাইথন 2 , 137 136 133 বাইট

lambda s,d:'{0}/{1}-/\n|-DI{3}-{4}---{5} {2} {5} \n{0}\\-{1}\\'.format(' '*11,'--'*len(s),' '.join(s),*list('></\\<>')[d::2])[::-d|1]

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

1ডান এবং 0বাম জন্য


135 বাইট (-1 বাইট) প্রতিস্থাপন 1-2*dসঙ্গে -d|1(অস্বীকার dXOR 1)।
— মিঃ এক্সকোডার

টাইপো, এটি জোর নয়, এটি কিছুটা দিকের বা আসলেই।
— মিঃ এক্সকোডার

1
একটি সামান্য কৌতুক সহ 134 বাইট :*list('></\\<>')[d::2]
— jferard

1

পিএইচপি, 175 বাইট

[,$d,$s]=$argv;$f=str_repeat("--",strlen($s));$r="\-$f\           
 ".join(" ",str_split("><"[$d].$s)).($d?" <---/->":" >---\-<")."ID-|
/-$f/           ";echo$d?strrev($r):$r;

সঙ্গে চালান -nr, প্রথম যুক্তি = 0অধিকার মুখোমুখি জন্য অথবা 1বাম এবং দ্বিতীয় যুক্তি = পাঠ্যের জন্য
অথবা অনলাইনে এটিকে পরখ করে ।



1

কোরিয়া , 51 বাইট

"u *:>ip.j:l)X-'/S:>"
|-DI>-/---< V< 
"h}>>`tHL`idF

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

ব্যাখ্যা

প্রোগ্রামটি কয়েকটি অংশ নিয়ে গঠিত:

1: সূচনা

"u *:>ip.j:l)X-'/S:>"
"..................."   execute the inside as code
 u                      repeat
   *                    a space, 11 times
    :                   duplicate this string
     >                  write this string to the content field
      i                 take a line of input
       p                push a space
        .j              insert that space after every character
          :l)           get (length(str) + 1)
             X-         repeat a hyphen that many times
               '/       push the "/" character
                 S      surround that string with the above character
                  :>    duplicate and write that string to the content field

2: কাঁচা পাঠ্য

নিম্নলিখিত পাঠ্যটি সামগ্রীর ক্ষেত্রে আউটপুট করা হয়েছে:


|-DI>-/---< V<

3: পোস্টামেবল

"h}>>`tHL`idF
"               execute until the end of the file
 h              mirror the previous string horizontally
  }             move the modified input string to the front of the stack
   >>           write the top two strings to the content field
     `   `id    do the inside `i`nput times
      tH        reflect the content field horizontally and vertically
        L       reverse the input string
            F   save the input string in a field (default: V)
                this replaces all Vs in the code with the input string

0

এক্সেল ভিবিএ, 198 বাইটস

বেনামে VBE তাত্ক্ষণিক উইন্ডো ফাংশন যা ইনপুটটি স্ট্রিং হিসাবে [A1]এবং পরিসীমা থেকে অন্তর্গত হিসাবে গ্রহণ করে [B1]যেখানে 1ইঙ্গিত দেয় যে সমতলটি বাম দিকে রয়েছে এবং 0ইঙ্গিত দেয় যে সমতলটি ডানদিকে রয়েছে।

b=[B1]:a=StrConv(IIf(b,[A1],StrReverse([A1])),64):j=[Rept("-",2*Len(A1)+1)]:k="/"&j &"/":l="\"&j &"\":s=Space(11):?IIf(b,s &k,l):?IIf(b,"|-DI>-/---< "," > ")a;IIf(b,"<",">---\-<ID-|"):?IIf(b,s &l,k)

0

গুগল শিটস, 210 বাইট

বেনামে ওয়ার্কশিট ফাংশন যা ইনপুট ইনপুটটিকে [A1] এবং রেঞ্জ [B1] থেকে অন্তর্গত হিসাবে গ্রহণ করে যেখানে 1 ইঙ্গিত দেয় যে সমতলটি বাম দিকে রয়েছে এবং 0 টি নির্দেশ করে যে সমতলটি ডানদিকে রয়েছে।

=If(B1,"           /","\")&Rept("-",2*Len(A1)+1)&If(B1,"/
","\
")&If(B1,"|-DI>-/---< "," > ")&RegexReplace(A1,"(.)","$1 ")&If(B1,"<
",">---\-<ID-|
")&If(B1,"           \","/")&Rept("-",2*Len(A1)+1)&If(B1,"\","/
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.