এই চ্যালেঞ্জের মধ্যে আমরা আসকি ব্যবহারকারী ইন্টারফেস রেন্ডার করি।
+----------------------+
|+-----------++-------+|
||<- Previous||Next ->||
|+-----------++-------+|
|== The title == |
| |
|Lorem ipsum dolor |
|sit amet... |
|+--------------+ |
||Post a comment| |
|+--------------+ |
|+-----------------+ |
||User X commented:| |
|| | |
||This is amazing! | |
|+-----------------+ |
|+-----------------+ |
||User Y commented:| |
|| | |
||lol | |
|+-----------------+ |
+----------------------+
এর মতো প্রতিটি অঙ্কন একটি উপাদান দিয়ে তৈরি, এতে সাপ্লিমেন্ট থাকতে পারে। সম্ভাব্য উপাদানগুলি নীচে তালিকাভুক্ত করা হয়েছে:
- পাঠ্য উপাদান পাঠ্যের এক বা একাধিক লাইন রয়েছে।
- বক্স উপাদান। সীমানাসমূহের সাথে ঘিরে রয়েছে এমন একটি সাবলেট রয়েছে। সীমানা
+কোণে এবং-এর এবং|প্রান্তে রয়েছে। - অনুভূমিক তালিকা। এক বা একাধিক উপাদান রয়েছে যা অনুভূমিকভাবে প্রান্তিক করা হয়।
- উল্লম্ব তালিকা। এক বা একাধিক উপাদান রয়েছে যা একে অপরের উপরে উলম্বভাবে এবং অনুভূমিকভাবে বামে প্রান্তিক হয়।
প্রতিটি উপাদান একটি আয়তক্ষেত্র হয়।
প্রতিটি উপাদান, এর বিষয়বস্তু ছাড়াও, বেসলাইন বলে একটি সম্পত্তি রয়েছে । মূল লাইনটি উপাদানগুলিকে উল্লম্বভাবে সারিবদ্ধ করার জন্য ব্যবহৃত হয়: একটি অনুভূমিক তালিকার প্রতিটি উপাদান এমনভাবে বিন্যস্ত হয় যাতে তাদের বেসলাইনগুলি একই লাইনে থাকে। নীচের উদাহরণে, বেসলাইনটিতে অক্ষর রয়েছে aeg। তিন বক্স উপাদানের ভিত্তিরেখা (0-সূচীবদ্ধ) হয় 1, 3এবং 2।
+-+
|c|+-+
+-+|d||f|
|a||e||g|
|b|+-+|h|
+-+ +-+
বেসলাইনগুলি নিম্নলিখিত বিধি দ্বারা নির্ধারিত হয়:
- পাঠ্য উপাদানগুলির জন্য, পাঠ্যের প্রথম লাইনটি বেসলাইন, অর্থাৎ।
0। - বাক্স উপাদানগুলির জন্য, বেসলাইনটি হ'ল সুব্লিমেন্টের বেসলাইন 1 +।
- অনুভূমিক তালিকার জন্য, বেসলাইনটি তালিকার সর্বাধিক বেসলাইন (
3উপরের উদাহরণে)। - উল্লম্ব তালিকার জন্য, বেসলাইনটি কোনও উপাদানটির বেসলাইন, যা ইনপুটটিতে নির্দিষ্ট করা আবশ্যক।
ইনপুট
ইনপুটটি কোনও বিন্যাসে একটি ইন্টারফেসের একটি স্পেসিফিকেশন (উদাঃ তালিকা, জসন)। উদাহরণ ইনপুট নিম্নলিখিত ফর্ম্যাট আছে:
- একটি স্ট্রিং উপাদান একটি স্ট্রিং:
"..." - একটি বক্স উপাদান একটি তালিকা যা প্রথম উপাদানটি হ'ল
"b":["b", subelement] - একটি অনুভূমিক তালিকা একটি তালিকা যা প্রথম উপাদানটি হ'ল
"h":["h", items...] - একটি উল্লম্ব তালিকাগুলি এমন একটি তালিকা যা প্রথম উপাদানটি থাকে
"v"এবং দ্বিতীয় উপাদানটি মূল সংখ্যার (0-সূচীকৃত) মূল সংখ্যাটি ব্যবহৃত হয়:["v", n, items...]
আউটপুট
আউটপুটে অবশ্যই উপরে বর্ণিত নিয়মগুলি ব্যবহার করে সারিবদ্ধ উপাদান থাকা উচিত। আউটপুট স্টাডাউট, স্ট্রিংগুলির তালিকা বা অর্থপূর্ণ যে কোনও কিছু হতে পারে।
স্কোরিং
এটি কোড-গল্ফ , সাধারণ নিয়ম প্রয়োগ হয়।
পরীক্ষার মামলা
1
["b", ["v", 0, ["h", ["b", "<- Previous"], ["b", "Next ->"]], "== The title ==\n\nLorem ipsum dolor\nsit amet...", ["b", "Post a comment"], ["b", "User X commented:\n\nThis is amazing!"], ["b", "User Y commented:\n\nlol"]]]
+----------------------+
|+-----------++-------+|
||<- Previous||Next ->||
|+-----------++-------+|
|== The title == |
| |
|Lorem ipsum dolor |
|sit amet... |
|+--------------+ |
||Post a comment| |
|+--------------+ |
|+-----------------+ |
||User X commented:| |
|| | |
||This is amazing! | |
|+-----------------+ |
|+-----------------+ |
||User Y commented:| |
|| | |
||lol | |
|+-----------------+ |
+----------------------+
2
["h", ["b", ["v", 0, "a", "b"]], ["b", ["v", 2, "c", "d", "e"]], ["b", ["v", 1, "f", "g", "h"]]]
+-+
|c|+-+
+-+|d||f|
|a||e||g|
|b|+-+|h|
+-+ +-+
3
["h", ["b", ["v", 0, ["b", ["h", "a\nb", "c"]], "d", "e", ["h", ["h", "f"], ["b", ["h", "g"]], "h"]]], ["b", "ijk\nl\nmn\no"], ["v", 2, ["b", "pqrst"], ["b", "uv\nw"], ["b", "x"]], ["b", ["b", ["b", "yz"]]]]
+-----+
|pqrst|
+-----+
+--+
|uv|
|w | +------+
+-----+ +--+ |+----+|
|+--+ |+---++-+ ||+--+||
||ac| ||ijk||x| |||yz|||
||b | ||l |+-+ ||+--+||
|+--+ ||mn | |+----+|
|d ||o | +------+
|e |+---+
| +-+ |
|f|g|h|
| +-+ |
+-----+
4
["h", "a * b = ", ["v", 0, "a + a + ... + a", "\\_____________/", " b times"]]
a * b = a + a + ... + a
\_____________/
b times
aএকই লাইনে থাকে eযেমন তারা উভয়ই তাদের বাক্সের বেসলাইনতে থাকে। আমি "বেজলাইন" এর জন্য সঠিক শব্দটি কিনা তা সম্পূর্ণরূপে নিশ্চিত নই, আমি কেবল জানি যে এটি টাইপোগ্রাফির ক্ষেত্রে একই উদ্দেশ্যে ব্যবহৃত হয়।