এখানে একটি খোলা বইয়ের মোটামুটি সহজ ASCII চিত্র রয়েছে:
|\
| \
| \
| \
| \__________
| || |
| || Lorem i |
\ || psum do |
\ || lor sit |
\ || amet, |
\ || consect |
\||_________|
লক্ষ্য করুন যে পাঠ্যের অংশটি কেবলমাত্র ডান পৃষ্ঠায় রয়েছে এবং 5 টি লম্বা দ্বারা 8 অক্ষর প্রস্থ রয়েছে। এছাড়াও লক্ষ্য করুন যে বইয়ের উপরের প্রান্তটিতে 5 ব্যাকস্ল্যাশ এবং 10 আন্ডারস্কোর রয়েছে। 10 পাঠ্যের প্রস্থ 3 যোগে আসে এবং 5টি 10 এর অর্ধেক হয়।
একই স্কেলিং ফর্ম্যাটটি ব্যবহার করে আমরা বইটির আকারটি একটি পাঠ্য অঞ্চল ডাবল অক্ষর প্রশস্ত এবং h উচ্চতর করতে পারি, যেখানে ডব্লুটি কোনও বিজোড় ধনাত্মক পূর্ণসংখ্যা এবং এইচটি কোনও ধনাত্মক পূর্ণসংখ্যা হয়।
কিছু W × H বই: 1 × 1, 1 × 2, 3 × 2
|\
|\ | \
|\ | \____ | \______
| \____ | || | | || |
| || | | || L | \ || Lor |
\ || L | \ || o | \ || em |
\||___| \||___| \||_____|
শীর্ষে আন্ডারস্কোরগুলির সংখ্যা সর্বদা ডাব্লু +3 এবং ব্যাকস্ল্যাশগুলির সংখ্যা সর্বদা ( ডাব্লু +3) / 2 থাকে।
লক্ষ্য
একটি progam করে একটি ফাইলের নাম এবং লাগে লিখুন W এবং জ কমান্ড লাইন আর্গুমেন্ট, এবং stdout- এ ঐ টেক্সট মাত্রার সঙ্গে একটি বই আউটপুট, ফাইল বিষয়বস্তু প্রদর্শন।
যখন ফাইলটি একটি পৃষ্ঠায় ফিট করবে তার চেয়ে বেশি পাঠ্য থাকবে Nকীটি পরবর্তী পৃষ্ঠাটি মুদ্রণ করবে এবং Bকোনও পৃষ্ঠা ফিরে যাবে। Bপ্রথম পৃষ্ঠা Nথেকে টিপানো বা শেষ পৃষ্ঠাটি থেকে টিপে থাকলে কিছুই হবে না । Qকীটি চাপলে প্রোগ্রামটি থামানো উচিত ।
উদাহরণ
ধরুন f.txtরয়েছে Lorem ipsum dol?এবং ব্যবহারকারী কী অনুক্রম চাপা হয়েছে N N B N N Q। প্রোগ্রামটি এমন কিছু চালানো উচিত:
>>> bookmaker f.txt 3 2
|\
| \
| \______
| || |
\ || Lor |
\ || em |
\||_____|
|\
| \
| \______
| || |
\ || ips |
\ || um |
\||_____|
|\
| \
| \______
| || |
\ || dol |
\ || ? |
\||_____|
|\
| \
| \______
| || |
\ || ips |
\ || um |
\||_____|
|\
| \
| \______
| || |
\ || dol |
\ || ? |
\||_____|
>>>
লক্ষ্য করুন যে প্রতিটি বইয়ের পরে একটি নতুন লাইন রয়েছে এবং কোনও পিছনের স্থান নেই। এটি প্রয়োজন।
মন্তব্য
- আপনি ধরে নিতে পারেন ফাইলটিতে কেবল প্রিন্টযোগ্য এএসসিআইআই অক্ষর রয়েছে (হেক্স 20 থেকে 7 ই)।
- শব্দের সীমা নির্বিশেষে প্রতিটি উপলভ্য স্পটে একটি করে অক্ষর মুদ্রণ করুন।
- W এবং জ হয় ঐচ্ছিক যুক্তি হল যে ডিফল্টে 7 এবং 5 যথাক্রমে। আপনার প্রোগ্রাম হয় উভয় দেওয়া হবে না উভয়। (আপনি ধরে নিতে পারেন ইনপুট সর্বদা সুগঠিত।)
- শূন্যস্থান দিয়ে শেষ পৃষ্ঠায় কোনও খালি পাঠ্য স্থান পূরণ করুন।
Qযদি কেবল একটি পৃষ্ঠা থাকে তবে এখনও ছাড়তে হবে।
জয়লাভ
বোনাস প্রয়োগের পরে বাইটের মধ্যে সংক্ষিপ্ততম প্রোগ্রামটি জয়লাভ করে।
বোনাসেস
- নেতৃস্থানীয় স্পেসগুলি সরিয়ে ফেলুন যাতে প্রতিটি লাইন একটি শব্দের সাথে শুরু হয় (বা শব্দ বিভাগ)। যেমন
| amet, |প্রথম উদাহরণে হয়ে উঠবে| amet, c |। (-30 বাইট) - চাপার পরে
Nবা পরে টানা আগের বইগুলির পর্দা সাফ করুনB(এবংTআপনি যদি এর পরে বোনাস করেন) যাতে বইটি তার পরিবর্তিত পৃষ্ঠাগুলির মতো মনে হয়। (-20 বাইট) করুন
Tপাঠের মধ্যে অবিলম্বে টগল কী টপ থেকে-নীচের বাম-থেকে-বাম থেকে ডানে-থেকে-ডান টপ থেকে-নীচের (ডিফল্ট) থেকে টানা হচ্ছে। আপনি যদি প্রথম বোনাস করেন তবে এটি উপরে থেকে নীচে মোডে কলামগুলির জন্য কাজ করা উচিত। (-100 বাইট)উদাহরণস্বরূপ:
|\ | \ | \______ | || | \ || Lor | \ || em | \||_____|হয়ে
|\ | \ | \______ | || | \ || Lrm | \ || oe | \||_____|
\033[2J\033[;H