सी -> ब्रेनफक 556 बाइट्स
अनावश्यक व्हाट्सएप को छोड़कर। मैं आसानी d[]से quotmarks में हेक्स से एक स्ट्रिंग में फ़ॉन्ट डेटा को बदलकर एक और सौ बचा सकता था ।
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, और फॉर्मैटेड कोड को खींचने के लिए आवश्यक स्ट्रोक की संख्या की गणना भी करता है, 13-अंकीय हेक्स मैजिक नंबर (सभी वर्ण 5-8 स्ट्रोक हैं) का उपयोग करते हुए।
कुल कार्यक्रम की लंबाई और स्ट्रोक की संख्या को देखते हुए, प्रति स्ट्रोक वर्णों की संख्या की गणना की जाती है (यदि अक्षर समान हैं या आरोही क्रम में हैं, और बहुत बड़े हैं यदि वर्ण अवरोही क्रम में हैं।)
कार्यक्रम के बाकी हिस्सों में से अधिकांश यह तय करने के लिए समर्पित है कि क्या व्हाट्सएप या एक स्ट्रोक को मुद्रित करने की आवश्यकता है। यदि कर्सर स्ट्रोक स्क्वायर से अधिक है, तो फ़ंक्शन fको उस स्ट्रोक की संख्या के साथ एक तर्क के रूप में कहा जाता है। यह एक स्थान देता है यदि वर्तमान पत्र के लिए उस स्ट्रोक की आवश्यकता नहीं है, या प्रोग्राम का एक चरित्र यदि यह है। क्योंकि ASCII कला को पूरा करने के लिए आवश्यक वर्णों की संख्या कार्यक्रम के पात्रों से अधिक हो सकती है, कभी-कभी एक स्थान डाला जाता है, इसलिए गणना 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/ पर परीक्षण करें
एबीसी
+ ++ +++ ++++ + ++
+ + +
+ + + +
+ + +
+ + +
++++ + ++ +++ ++++
+ + + +
+ + + +
+ + + +
+ + + +
++++ + ++ ++. +.+.
डीईएफ़
+ ++ ++ + ++++ +++ ++ + ++++
+ + +
+ + +
+ + + +
+ + +
++ + +++ ++++ + ++
+ + +
+ + + +
+ + +
+ + +
++++ + ++ ++. +.+.
GHIJK
+ + +++ ++ +++ +++ ++
+ + + + +
+ + + + +
+ + + + + +
++ +++ + + +++
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+++ + + ++. +. +.+ .+.
LMNOP
+ + +++ + + +++ + + +++ + + +++
+ + + + + + + +
+ + + + + + + +
+ + + + + + + + +
+ + +++
+ + + + + + + +
+ + + + + + + +
+ + + + + + + + +
+ . +.+ . + .+.
QRSTU
+ + +++ +++ +++ +++ ++
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+++ +++ + + +++ +++ +++
+ + + + +
+ + + + + +
+ + + + + +
+++ ++ +++ .+. +.+ .+.
प्रतीक
+ + +++
+ + + + + + + + +
+ + + + + + + + +
+ + + + + + + + +
+++ +++ + + +++ +++ ++
+ + + + + + + + +
+ + + + + + + +
+ + + + + + + +
+++ + + +++ +++ ++ .+. +.+ .+.
प्रतिलिपि बनाने योग्य
यादृच्छिक क्रम में अक्षरों के साथ अधिकांश तार के साथ (आरोही नहीं) अक्षर का आकार बहुत बड़ा है, और अक्षर बहुत बेहतर दिखते हैं। दुर्भाग्य से फ़ाइल का आकार काफी बड़ा हो जाता है। मैं यहां पूरा शब्द UCOPYRIGHTABLE अपलोड नहीं कर सकता, COPYABLE सबसे लंबे शब्द के बारे में है जिसकी मुझे अनुमति है।
+ +++++++++ +++++++++++ + +++++++++ +++++++++++ ++ ++++++++ +++++++++++ +++ +.+++++ +++++++.+.+ ++++ ++++.+ +++++++++++
+ + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + +
+++++++++ + +++++++++++ ++++++++++ +++++++++++ +++++++++++ ++++++++++ +++++++++++ + +++++++++ ++++++++++. +. ++++++++
+ + . + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + +
+++++++++++ +++++++ +++ +++++++++++ ++++++++ ++ +++++++++++ +++++++++ + +++++++++++ ++++++++++ +++++++++++ +++++++++++ ++++++++++ ++++++++++.