দ্য ডিফারেন্স ইঞ্জিনের উচ্চ আন্ডাররেটেড স্টিম্পঙ্ক উপন্যাসে , সিনেমা ঘরগুলির সমতুল্য টাইলস দ্বারা প্রদর্শিত একটি পিক্সেলেটেড মুভিং চিত্র সরবরাহ করেছিল যা যান্ত্রিকভাবে ফ্লিপ হতে পারে। এই টাইলসগুলির চলাচল বাড়াতে নিয়ন্ত্রণের ইঞ্জিনটি ছিল একটি বিশাল শোরগোলের মেশিন যা পাঞ্চ কার্ডগুলির একটি ডেক দ্বারা নিয়ন্ত্রিত ছিল।
আপনার কাজটি হ'ল এই জাতীয় ইঞ্জিন অনুকরণ এবং কোনও ইনপুট ফাইল দ্বারা নির্দিষ্ট হিসাবে একটি পিক্সिलेটেড অ্যানিমেশন প্রদর্শন করা। ইনপুটটিতে একটি নির্দিষ্ট-প্রস্থের বিন্যাসে লাইন থাকে তবে লাইন-এন্ডিং ইঙ্গিতের জন্য আপনি যা উপযুক্ত তা ধরে নিতে পারেন। বিন্যাসটি হ'ল:
SSSSYYxxXXOA
SSSS: 4 digit sequence no. may be padded by blanks or all blank
YY: the y coordinate affected by this line (descending, top is 0, bottom is m-1)
xx: the starting x coordinate
XX: the ending x coordinate
O: hexadecimal opcode
A: argument (0 or 1)
ইনপুটটি সুস্পষ্টভাবে সিকোয়েন্সড হয় (আপনি যদি কখনও আপনার ডেকে কার্ডের ফ্লোরে ফেলে দেন তবে আপনি এই অংশটির জন্য আমাকে ধন্যবাদ জানবেন)। এর অর্থ প্রোগ্রামটি অবশ্যই সিকোয়েন কী হিসাবে সিকোয়েন্স ফিল্ডটি ব্যবহার করে ইনপুট লাইনের একটি স্থিতিশীল বাছাই করতে হবে। একই ক্রম সংখ্যাযুক্ত রেখাগুলি অবশ্যই তাদের মূল আপেক্ষিক ক্রম বজায় রাখতে হবে। (এটি যদি আপনার আসল লাইন নম্বরটি কীতে সংযোজন করা হয় তবে এটি একটি অস্থির বাছাইয়ের সাথে কাজ করা উচিত A) একটি ফাঁকা সিকোয়েন্স ক্ষেত্রটি কোনও সংখ্যার চেয়ে কম হিসাবে ব্যাখ্যা করা উচিত (এসকিআই কোলিশেশন সিকোয়েন্স)।
একটি একক বিবৃতি লাইনটি কেবল একটি একক y স্থানাঙ্ককে প্রভাবিত করতে পারে তবে এক্স মানগুলির একটি সংমিশ্রিত পরিসীমা নির্দিষ্ট করতে পারে। শেষের এক্স মানটি ফাঁকা ছেড়ে যেতে পারে বা একক পিক্সেলকে প্রভাবিত করতে প্রাথমিক মানের সাথে অভিন্ন হতে পারে।
অপকোড হেক্সাডেসিমাল ডিজিট যা ইউনিভার্সাল বাইনারি ফাংশন কোড নির্দিষ্ট করে যা একটি রাস্টারস্টপ হিসাবে ব্যবহৃত হয়। আর্গুমেন্ট 0 বা 1। সম্পন্ন রাস্টার অপারেশনটি হয়
pixel = pixel OP argument infix expression
--or--
OP(pixel, argument) function call expression
সুতরাং পিক্সেলের মূল মানটি ইউবিএফ সারণিতে এক্স হিসাবে প্রবেশ করে এবং বিবৃতি থেকে আর্গুমেন্টের মানটি ওয়াই হিসাবে প্রবেশ করে this এই ফাংশনের ফলাফলটি পিক্সেলের নতুন মান। এবং এই অপারেশনটি এক্স, ওয়াই থেকে এক্সএক্স, ওয়াই ওয়াই স্টেটমেন্টে নির্দিষ্ট প্রতিটি এক্স, ওয়াই জোয়ারের উপর সঞ্চালিত হয়। এক্সএক্স এবং এক্সএক্স দ্বারা নির্দিষ্ট রেঞ্জের উভয় প্রান্ত-পয়েন্ট অন্তর্ভুক্ত। সুতরাং
0000 0 010F1
0 সারিতে 0,1,2,3,4,5,6,7,8,9,10 পিক্সেল সেট করা উচিত।
আউটপুট মাত্রা ( মি x এন ) ন্যূনতম হতে 20 x 20 হওয়া উচিত, তবে ইচ্ছা করলে আরও বড় হতে পারে। তবে দানা দেখানো উচিত, জানো? এটি পিক্সেলিটেড হওয়ার কথা । গ্রাফিকাল এবং এএসসিআইআই-আর্ট উভয়ই গ্রহণযোগ্য।
উদাহরণস্বরূপ, আমরা একটি পিক্সেলিটেড চিত্রের চিত্র তৈরি করতে চেয়েছিলাম:
# #
###
##
####
#
#### ####
# #
###
# #
# #
যদি আমরা তাকে এক্সওআর এর মতো কিছুটা ফ্লিপিং অপ দিয়ে আঁকি, তবে স্ক্রীনটি কালো বা সাদা কিনা তা নির্বিশেষে এটি আঁকতে এবং মুছতে পারে।
00020261
0 6 661
1 3 561
2 3 461
3 3 661
4 4 461
5 0 361
5 5 861
6 3 361
6 5 561
8 3 561
9 3 361
9 5 561
10 3 361
10 5 561
এই ক্রমের সদৃশকরণ চিত্রটি প্রদর্শিত হবে এবং অদৃশ্য হয়ে যাবে।
সিকোয়েন্স ফিল্ডে বিভিন্ন "শট" নির্দিষ্ট করে একটি বৃহত্তর অ্যানিমেশনটি অফ-অর্ডার তৈরি করা যায়।
100 016F0
101 016F0
102 016F0
103 016F0
104 016F0
105 016F0
106 016F0
107 016F0
108 016F0
109 016F0
110 016F0
111 016F0
112 016F0
113 016F0
114 016F0
115 016F0
200020261
2 0 6 661
2 1 3 561
2 2 3 461
2 3 3 661
2 4 4 461
2 5 0 361
2 5 5 861
2 6 3 361
2 6 5 561
2 8 3 561
2 9 3 361
2 9 5 561
210 3 361
210 5 561
00020261
0 6 661
1 3 561
2 3 461
3 3 661
4 4 461
5 0 361
5 5 861
6 3 361
6 5 561
8 3 561
9 3 361
9 5 561
10 3 361
10 5 561
300020261
3 0 6 661
3 1 3 561
3 2 3 461
3 3 3 661
3 4 4 461
3 5 0 361
3 5 5 861
3 6 3 361
3 6 5 561
3 8 3 561
3 9 3 361
3 9 5 561
310 3 361
310 5 561
00020261
0 6 661
1 3 561
2 3 461
3 3 661
4 4 461
5 0 361
5 5 861
6 3 361
6 5 561
8 3 561
9 3 361
9 5 561
10 3 361
10 5 561
উত্পাদন:
এটি কোড-গল্ফ তাই সংক্ষিপ্ততম প্রোগ্রাম (বাইট-কাউন্ট দ্বারা) জিতেছে। বোনাস (-50) যদি ইঞ্জিন ক্লিকি-ক্ল্যাক শব্দ করে তোলে।
x
সমষ্টি কি সর্বদা অন্তর্ভুক্ত?