মূলত, স্ট্রিংটি একটি রান-দৈর্ঘ্যের এনকোডিং চিত্রের : স্ট্রিংয়ের বিকল্প অক্ষরগুলি বলে যে কোন স্থানটি কতবার আঁকতে হবে এবং একটানা কতবার বিস্মৃত চিহ্নটি আঁকতে হবে। এখানে এই প্রোগ্রামের বিভিন্ন উপাদান বিশ্লেষণ করা হল:
এনকোডড স্ট্রিং
এই স্ট্রিংয়ের প্রথম 31 টি অক্ষর উপেক্ষা করা হয়েছে। বাকিগুলিতে চিত্র আঁকার জন্য নির্দেশাবলী রয়েছে। স্বতন্ত্র অক্ষরগুলি নির্ধারণ করে যে কতগুলি স্পেস বা বিস্ময়কর চিহ্ন ক্রমাগত আঁকতে হবে।
লুপ জন্য বাইরের
এই লুপটি স্ট্রিংয়ের অক্ষরের উপরে চলে যায়। প্রতিটি পুনরাবৃত্তি b
এক দ্বারা মান বাড়িয়ে তোলে এবং স্ট্রিংয়ের পরবর্তী অক্ষরকে নির্ধারণ করেa
।
লুপ জন্য অভ্যন্তরীণ
এই লুপটি স্বতন্ত্র অক্ষরগুলি এবং যখনই লাইনের শেষ প্রান্তে পৌঁছায় তখন একটি নতুন লাইন আঁকে। টানা অক্ষরের সংখ্যা a - 64
। মান c
10 থেকে 90 পর্যন্ত চলে যায় এবং লাইনের শেষ পৌঁছে গেলে 10 এ পুনরায় সেট হয়।
দ্য putchar
এটি আবার লিখিত হতে পারে:
++c;
if (c==90) { //'Z' == 90
c = 10; //Note: 10 == '\n'
putchar('\n');
}
else {
if (b % 2 == 0)
putchar('!');
else
putchar(' ');
}
এটি সমান b
বা বিজোড়, বা প্রয়োজনের সময় একটি নতুন লাইন নির্ভর করে উপযুক্ত চরিত্রটি আঁকবে।