সি -> ব্রেইনফাক 556 বাইট
অপ্রয়োজনীয় সাদা স্থান বাদে। আমি d[]
হটস থেকে উদ্ধৃতি চিহ্নের স্ট্রিংয়ে হরফ থেকে ফন্টের ডেটা পরিবর্তন করে আরও শতাধিকটি সংরক্ষণ করতে পারি।
i,j,s,t,u,v,w,h;
char a[99],b[9999],k,d[]={0x6F,0x3B,0x5A,0xD5,0x7A,0x6A,0x5B,0x2F,0xD0,0x57,0xA1,0x1B,0xCF,0x4F,0x5F,0x6E,0x6D,0x4E,0x79,0x3A,0x1F,0x95,0x9F,0xA6,0x3D,0x76};
f(int z){
return d[a[j-1-t%(2*w*j)/w/2]-65]>>z&1?z=b[i*v/u],b[i++*v/u]=' ',z:' ';
}
main(){
for(scanf("%s",a);a[j];i++)a[j]-k?k++,b[i]='+':(b[i]='.',t+=(0xE7572B70967DB>>(a[j]*2-130)&3)+5,j++);
s=i/t+2;
u=t*(s-1);
v=i;
i=0;
w=2*s;h=2*s+1;
for(t=2*w*h*j;t--;)putchar(
t%(2*w*j)?
t/2/w/j%s?
t%s||!(t/4%s)?' ':f(t/s%4/2+t/2/w/j/s*2|7*(t/s%4==2))
:(
(t%s)&&(t/s+1&2)?f(4+t/2/w/j/s):' '
)
:10 //newline
);
}
এটি একটি ক্যালকুলেটর ফন্ট ব্যবহার করে (লো এনট্রপির জন্য, চিঠি অনুযায়ী কেবলমাত্র একটি বাইট) এবং https://codegolf.stackexchange.com/a/35801/15599 দ্বারা অনুপ্রাণিত একটি খুব নিষ্পাপ ব্রেইনফাক সংকলক (আমি ব্যতীত পরিবর্তে প্লাস ব্যবহার করি।) প্রথম for
লুপটি পাঠ্যটিকে a
স্ট্রিংয়ে সংকলন b
করে এবং ১৩-সংখ্যার হেক্স ম্যাজিক সংখ্যা ব্যবহার করে বিন্যাসিত কোড আঁকার জন্য প্রয়োজনীয় স্ট্রোকের সংখ্যা গণনা করে (সমস্ত অক্ষর 5-8 স্ট্রোক are)
মোট প্রোগ্রামের দৈর্ঘ্য এবং স্ট্রোকের গণনা দেওয়া, স্ট্রোকের জন্য অক্ষরের সংখ্যা গণনা করা হয় (অক্ষরগুলি একই বা আরোহী ক্রমানুসারে খুব ছোট হতে পারে এবং অক্ষরগুলি অবতরণে থাকলে খুব বড়।)
প্রোগ্রামের বেশিরভাগ অংশ হোয়াইটস্পেস বা স্ট্রোকগুলির একটি মুদ্রণ করা দরকার কিনা তা নির্ধারণে নিবেদিত। কার্সার যদি একটি স্ট্রোক স্কোয়ারের ওপরে থাকে তবে ফাংশনটিকে f
সেই স্ট্রোকের সংখ্যা দিয়ে আর্গুমেন্ট হিসাবে ডাকা হয়। এটি বর্তমান স্থানের জন্য স্ট্রোকের প্রয়োজন না হলে বা প্রোগ্রাম থেকে কোনও অক্ষর থাকলে তা একটি স্থান দেয় returns কারণ ASCII আর্টটি সম্পূর্ণ করার জন্য প্রয়োজনীয় অক্ষরের সংখ্যা প্রোগ্রামের অক্ষরের চেয়ে বেশি হতে পারে, মাঝে মধ্যে একটি স্থান isোকানো হয়, সুতরাং গণনা b[i * v/u]
।
ফন্টে চারটি একক স্ট্রোক এবং চারটি ডাবল স্ট্রোক রয়েছে যা নিম্নরূপে সংখ্যাযুক্ত, যা চিঠির উপর নির্ভর করে উপস্থিত বা অনুপস্থিত।
6666 6666
3 7 2
3 7 2
3 7 2
3 7 2
5555 5555
1 7 0
1 7 0
1 7 0
1 7 0
4444 4444
আউটপুট
Http://copy.sh/brainfuck/ এ পরীক্ষা
অ আ ক খ
+ ++ +++ ++++ + ++
+ + +
+ + + +
+ + +
+ + +
++++ + ++ +++ ++++
+ + + +
+ + + +
+ + + +
+ + + +
++++ + ++ ++. +.+.
DEF
+ ++ ++ + ++++ +++ ++ + ++++
+ + +
+ + +
+ + + +
+ + +
++ + +++ ++++ + ++
+ + +
+ + + +
+ + +
+ + +
++++ + ++ ++. +.+.
GHIJK
+ + +++ ++ +++ +++ ++
+ + + + +
+ + + + +
+ + + + + +
++ +++ + + +++
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+++ + + ++. +. +.+ .+.
LMNOP
+ + +++ + + +++ + + +++ + + +++
+ + + + + + + +
+ + + + + + + +
+ + + + + + + + +
+ + +++
+ + + + + + + +
+ + + + + + + +
+ + + + + + + + +
+ . +.+ . + .+.
QRSTU
+ + +++ +++ +++ +++ ++
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+++ +++ + + +++ +++ +++
+ + + + +
+ + + + + +
+ + + + + +
+++ ++ +++ .+. +.+ .+.
VWXYZ
+ + +++
+ + + + + + + + +
+ + + + + + + + +
+ + + + + + + + +
+++ +++ + + +++ +++ ++
+ + + + + + + + +
+ + + + + + + +
+ + + + + + + +
+++ + + +++ +++ ++ .+. +.+ .+.
COPYABLE
এলোমেলোভাবে ক্রমযুক্ত অক্ষরের সাথে বেশিরভাগ স্ট্রিং সহ (আরোহণ নয়) অক্ষরের আকার অনেক বড় এবং বর্ণগুলি আরও ভাল দেখায়। দুর্ভাগ্যক্রমে ফাইলের আকারগুলি বেশ বড় হয়ে যায়। আমি এখানে পুরো শব্দটি UCOPYRIGHTABLE আপলোড করতে পারি না, COPYABLE আমার দীর্ঘতম শব্দটি অনুমোদিত about
+ +++++++++ +++++++++++ + +++++++++ +++++++++++ ++ ++++++++ +++++++++++ +++ +.+++++ +++++++.+.+ ++++ ++++.+ +++++++++++
+ + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + +
+++++++++ + +++++++++++ ++++++++++ +++++++++++ +++++++++++ ++++++++++ +++++++++++ + +++++++++ ++++++++++. +. ++++++++
+ + . + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + +
+++++++++++ +++++++ +++ +++++++++++ ++++++++ ++ +++++++++++ +++++++++ + +++++++++++ ++++++++++ +++++++++++ +++++++++++ ++++++++++ ++++++++++.