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


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.