রোবক্রিটটারস ( ব্যুৎপত্তি ) একটি ব্র্যান্ড নিউ নতুন রহস্যজনক প্রোগ্রামিং ল্যাঙ্গুয়েজ (এটি অনুসন্ধান করতে বিরক্ত করবেন না, আমি এটি কেবল আবিষ্কার করেছি)। এটা একটা ব্যাপার বৈকল্পিক এর Brainfuck (বি এফ), চলিত অপারেটর প্রতিকল্পন স্কিম চেয়ে সামান্য বেশি জটিল। রোবক্রিটটারের প্রতিটি প্রোগ্রামই পাঠ্যের একটি আয়তক্ষেত্রাকার গ্রিড যা কেবলমাত্র সাতটি অক্ষর সমেত, গ্রিডকে আকার দেওয়ার জন্য নিউলাইনগুলি থাকে . []/\|
।
উদাহরণস্বরূপ RoboCritters প্রোগ্রাম:
|\/||./|[]||
[..][][] |
|/\|[..][..]
[..] \/\/
বিএফ-তে কোনও রোবক্রিটটার প্রোগ্রাম অনুবাদ করতে, গ্রিডের প্রতিটি অ-নিউলাইন চরিত্রটি সাধারণ পাঠক্রমের (বাম-থেকে-ডানদিকে তারপর উপরে থেকে নীচে) দেখুন, যেমন |\/||./|[]||[..][][] ||/\|[..][..][..] \/\/
।
বর্তমানের চরিত্র থেকে ডানদিকে নীচে প্রসারিত গ্রিডের 4 × 2 বিভাগটি নীচে তালিকাভুক্ত আটটি রোবট সমালোচকদের সাথে ঠিক মিলে গেলে, সম্পর্কিত বিএফ কমান্ড যুক্ত করুন><+-.,[]
প্রাথমিক ( ) শূন্য) বিএফ প্রোগ্রামে যুক্ত করুন।
যদি 4 × 2 গ্রিড বিভাগটি কোনও রোবট সমালোচকদের সাথে মেলে না বা সীমা ছাড়িয়ে যায় , তবে বিএফ প্রোগ্রামে কিছুই যুক্ত হয় না।
জয়বট,
>
কমান্ড:[..] \][/
কলম্বোট,
<
কমান্ড:[..] /][\
স্কুইডবট,
+
কমান্ড:[..] //\\
স্পাইডারবট,
-
কমান্ড:[..] ||||
বানিবোট,
.
কমান্ড:[][] [..]
টুথবট,
,
কমান্ড:[..] |/\|
ফক্সবট,
[
কমান্ড:|\/| [..]
ব্যাটবট,
]
কমান্ড:[..] \/\/
সুতরাং, উদাহরণ প্রোগ্রাম পড়া
|\/||./|[]||
[..][][] |
|/\|[..][..]
[..] \/\/
আমরা দেখতে পাচ্ছি যে আমরা প্রথমে একটি ফক্সবটকে (কলাম 1, সারি 1 এ), তারপরে একটি টুথবট (সি 1, আর 2), তারপরে একটি বানিবট (সি 5, আর 2) এবং অবশেষে একটি ব্যাটবট (সি 9, আর 3) পেয়েছি। এটি বিএফ প্রোগ্রামের সাথে মিলে যায়[,.]
।
লক্ষ্য করুন যে ফক্সবট এবং টুথবট ওভারল্যাপ হয়। এটি ইচ্ছাকৃত;ওভারল্যাপ হয়ে গেলে রোবট সমালোচকদের আলাদাভাবে ব্যাখ্যা করা হয় না ।
চ্যালেঞ্জ
একটি সংক্ষিপ্ততম প্রোগ্রামটি লিখুন যা কোনও রোবক্রিটার প্রোগ্রামে লাগে এবং তার বিএফ সমতুল্য ফলাফলকে আউটপুট করে। আপনাকে বিএফ চালানোর দরকার নেই বা এটি বৈধ কিনা তা যাচাই করার দরকার নেই, কেবল রোবক্রিটটার কোডটি বিএফ কোডে অনুবাদ করুন।
বিস্তারিত
সমস্ত ইনপুট রবক্রিটারস প্রোগ্রামগুলি বৈধ হবে, এটি হ'ল এটি কেবলমাত্র সাতটি অক্ষর সমেত পাঠ্যের একটি সঠিক আয়তক্ষেত্রাকার ব্লক হবে, এটির আকারের জন্য নিউলাইনগুলি
. []/\|
। নতুন লাইনগুলি যে কোনও সুবিধাজনক সাধারণ প্রতিনিধিতে থাকতে পারে । আপনি বিকল্পগুলি ধরে নিতে পারেন যে প্রোগ্রামগুলির একটি একক পেছনের নতুন লাইন রয়েছে।আপনাকে অবশ্যই 0 × 0 খালি (বা একক নিউলাইন) প্রোগ্রাম সহ 4 × 2 এর চেয়ে ছোট রবোক্রিটার প্রোগ্রামগুলি সমর্থন করতে হবে। এগুলি সমস্ত খালি বিএফ প্রোগ্রামের সাথে (খালি স্ট্রিং) অনুরূপ।
আউটপুট বিএফ প্রোগ্রামটি কেবলমাত্র আটটি বিএফ কমান্ড অক্ষর সমন্বিত এক লাইনের স্ট্রিং হওয়া উচিত
><+-.,[]
। Optionচ্ছিকভাবে একটি একক ট্রেলিং নিউলাইন থাকতে পারে।যে কোনও সাধারণ উপায়ে ইনপুট নিন (স্টিডিন / পাঠ্য ফাইল / কমান্ড লাইন) এবং স্টাডআউট বা আপনার ভাষার নিকটতম বিকল্পে আউটপুট।
কোনও প্রোগ্রামের পরিবর্তে আপনি এমন একটি ফাংশন লিখতে পারেন যা রোবক্রিটটার প্রোগ্রামটিকে স্ট্রিং হিসাবে গ্রহণ করে এবং বিএফ প্রোগ্রামের স্ট্রিং প্রিন্ট করে বা প্রদান করে।
উদাহরণ
ইনপুট: (উপরে উদাহরণের বৈকল্পিক)
|\/|[][] [..][][] |/\|[..] \/\/
আউটপুট:
[,.]
ইনপুট: (সমস্ত রোবট সমালোচক পরীক্ষা করে)
[..][[[[[..]]. ]|\/| \][/[..]//\\[..][..] [..]/][\[][]|/\|[..] ||||/\| [..]| |\/\/
আউটপুট:
>+[<,-.]
ইনপুট:
[..] [..] [..] [..] [..] [..] [..] [..] |\/| [..] [..] [..] [..] [..] |\/| [..] [..] [..] [..] [..] [..] [..] [..] [..] [..] [..] [..] [..] [..] [..] [..] [..] [..] [..] [..] [..] [..] [..] [..] [..] [..] [..] [..] |\/| [..] [..] [..] [..] [..] [..] [..] [][] [..] [..] [..] [..] [][] [..] [..] [..] [..] [..] [..] [..] [][] [][] [..] [..] [..] [][] [..] [..] [][] [..] [..] [][] [..] [][] [..] [..] [..] [][] [..] [..] [..] [..] [..] [..] [][] [..] [..] [..] [..] [..] [..] [..] [..] [][] [..] [..] [..] [][] [..] [..] [..] [][] //\\ //\\ //\\ //\\ //\\ //\\ //\\ //\\ [..] \][/ //\\ //\\ //\\ //\\ [..] \][/ //\\ //\\ \][/ //\\ //\\ //\\ \][/ //\\ //\\ //\\ \][/ //\\ /][\ /][\ /][\ /][\ |||| \/\/ \][/ //\\ \][/ //\\ \][/ |||| \][/ \][/ //\\ [..] /][\ \/\/ /][\ |||| \/\/ \][/ \][/ [..] \][/ |||| |||| |||| [..] //\\ //\\ //\\ //\\ //\\ //\\ //\\ [..] [..] //\\ //\\ //\\ [..] \][/ \][/ [..] /][\ |||| [..] /][\ [..] //\\ //\\ //\\ [..] |||| |||| |||| |||| |||| |||| [..] |||| |||| |||| |||| |||| |||| |||| |||| [..] \][/ \][/ //\\ [..] \][/ //\\ //\\ [..]
আউটপুট: ( বিএফ হ্যালো ওয়ার্ল্ড প্রোগ্রাম )
++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.
ইনপুট: (কোনও রোবট সমালোচক উপস্থিত নেই)
/\\\[]. ]..[..] \\//||\
আউটপুট: (খালি স্ট্রিং)
স্কোরিং
বাইটস মধ্যে সংক্ষিপ্ততম জমা জয়। ( হ্যান্ড বাইট কাউন্টার। ) টাইব্রেকার সবচেয়ে বেশি পোস্ট করা পোস্ট।