পটভূমি
এএসসিআইআই আর্ট হ'ল আকার তৈরি করতে এএসসিআইআই পাঠ্য ব্যবহার করে চিত্রগুলি তৈরি করার অনুশীলন।
অ্যালাইজিং হ'ল এএসসিআইআই আর্টের বৃহত "পিক্সেল" দ্বারা নির্মিত প্রভাব, যা অক্ষরের আকার। চিত্রটি অবরুদ্ধ এবং দেখতে শক্ত হয়ে ওঠে। অ্যান্টি-এলিয়জিং গ্রেডিয়েন্ট তৈরি করে এবং এএসসিআইআই আর্টের শক্ত প্রান্তগুলিকে নরম করে এই প্রভাবটি সরিয়ে দেয়।
চ্যালেঞ্জ
আপনার চ্যালেঞ্জটি হ'ল সংক্ষিপ্ততম প্রোগ্রামটি লেখা সম্ভব যা ASCII আর্টের একটি অংশ নেবে এবং এন্টি-এলিয়াসযুক্ত সংস্করণ আউটপুট দেবে।
কী ধরণের অ্যান্টি-এলিয়জিং?
সমস্ত ASCII শিল্প দুটি ধরণের প্রতীক সমন্বিত হবে: স্পেসস এবং অ-হোয়াইটস্পেস। প্রতিটি অ-হোয়াইটস্পেসের চরিত্রের জন্য, আপনার প্রোগ্রামটি অবশ্যই এটি নির্ধারণ করতে হবে যে এটি এমন অবস্থানে রয়েছে যেখানে এটি অ্যান্টি-এলিজড হওয়া দরকার। যদি এটি হয় তবে আপনার এটি সঠিক চরিত্রের সাথে প্রতিস্থাপন করতে হবে। যদি তা না হয় তবে চরিত্রটি একই থাকে।
কোনও চরিত্রের অ্যান্টি-এলিয়াস হওয়া দরকার কিনা আপনি কীভাবে জানবেন? উত্তরটি অবিলম্বে উপরে, নীচে, বাম এবং অক্ষরের ডানদিকে ( ত্রিভুজ নয় ) উপর নির্ভর করে । এখানে যখন অ্যান্টি-এলিয়জিং প্রয়োজন হয় তার একটি চার্ট দেওয়া হয়েছে, যেখানে ?
এবং x
কোনও অ-সাদা অংশের অক্ষরের পক্ষে দাঁড়াতে পারে।
x? -> d?
? ?
?x -> ?b
? ?
? ?
?x -> ?F
? ?
x? -> Y?
x -> ; Note: This character has been changed from _ to ;
? ?
? ?
x -> V
?x -> ?>
x? -> <?
x -> @
ইনপুট (এবং প্রাক-অ্যান্টি-এলিয়াসিং এএসসিআইআই শিল্প উদাহরণ)
প্রথমে দুটি লাইন ইনপুট (এসটিডিআইএন) থাকবে, একটি সংখ্যা এইচ এর পরে একটি নম্বর ডাব্লু হবে। এরপরে প্রতিটি ডাব্লু অক্ষরের H লাইন থাকবে (নতুন লাইন বাদে)। এই নিম্নলিখিত লাইনগুলি ASCII শিল্প হবে যা অ্যান্টি-এলিয়াস হওয়া দরকার। এখানে একটি উদাহরণ ইনপুট দেওয়া হয়েছে (সুন্দর নয়, তবে একটি পরীক্ষা):
7
9
888888
888888
999 98 7
666666
666666
6666
6
আউটপুট (এবং অ্যান্টি-এলিজেড শিল্প উদাহরণ)
আপনার প্রোগ্রামটি ASCII আর্ট (একই মাত্রার) বন্ধ করতে হবে, যা অ্যান্টি-এলিয়াস হয়েছে। উপরের ইনপুটটির জন্য আউটপুট এখানে। সীমান্ত বর্ণগুলি কীভাবে সীমান্তের সাদা স্থান হিসাবে বিবেচিত হবে তা লক্ষ করুন।
d8888>
d8888F
<99 98 @
Y6666b
Y6666>
Y66F
V
এটি দেখতে খুব ভাল লাগবে না (কোড ব্লকের লাইনের মধ্যবর্তী জায়গার কারণে), এটি বৃহত্তর ASCII আর্টের সাথে আরও ভাল দেখাচ্ছে এবং মানটি সঠিকভাবে ব্যবহৃত ফন্টের উপর নির্ভর করে।
আরেকটি উদাহরণ
ইনপুট
12
18
xx xxx xxx
xxxx xxx xxx
xxxxxx xxx xxx
xxx xxx xxx xxx
xxxx xxx xxx xxx
xxxxxx xxx xxx
xxxx xxx xxx
x xx xxx xxx x
xx xxx xxx xx
xxx xxx xxx xxx
xxxx xxx xxx xx
xxxxx xxx xxx x
আউটপুট
db <xb <xb
dxxb Yxb Yxb
dxxxxb Yxb Yxb
dxx xxb xxb xxb
Yxxb xxF xxF xxF
YxxxxF dxF dxF
YxxF dxF dxF
; YF dxF dxF ;
xb dxF dxF dx
xxb <xF <xF <xx
xxxb Yxb Yxb Yx
Yxxx> Yx> Yx> V
বিধি, বিধিনিষেধ এবং নোটস
আপনার প্রোগ্রামটি কেবল প্রিন্টযোগ্য এএসসিআইআই অক্ষরে লেখা উচিত, যাতে আমরা প্রোগ্রামগুলি থেকে শিল্প তৈরি করতে পারি। তা ছাড়া, স্ট্যান্ডার্ড কোড-গল্ফ বিধি প্রযোজ্য।
_
পরিণত হয়েছে;
কারণ এটি আরও ভাল কাজ করে।