শিশুদের বিজ্ঞান যাদুঘরে আপনি জ্যাকব এর মই দেখেছেন । আপনি যদি তাদের দেখতে কেমন তা জানেন না তবে উইকিমিডিয়া কমন্সে বেশ কয়েকটি চিত্র এবং ভিডিও উদাহরণ রয়েছে । বৈদ্যুতিন গ্যাজেটের একটি অ্যানিমেটেড ASCII সংস্করণ তৈরি করা আজ চ্যালেঞ্জ। শেষ পর্যন্ত, এটি এর মতো কিছু দেখতে হবে:
মই নির্মাণ
এখানে 6 মাপের উচ্চতা ( এইচ ) সহ একটি মইয়ের মূল আকারটি রয়েছে :
6 \ /
5 \ /
4 \ /
3 \ /
2 \ /
1 \ /
0 ¯¯
বাম দিকে সংখ্যাগুলি কেবল এই উদাহরণের জন্য সারি সংখ্যা নির্দেশ করে এবং আউটপুটে অন্তর্ভুক্ত করা উচিত নয়। আমরা এর সংখ্যার ( আর ) দ্বারা প্রদত্ত সারিতে উল্লেখ করব । সারি 0 নীচে ¯¯
। প্রতিটি সারির 1 থেকে এইচ পর্যন্ত চারটি অংশ রয়েছে:
- একটি স্পেস
(ইউ + 0020) বারবার ( এইচ - আর ) বার হয়েছে
- একটি পিছনে স্ল্যাশ
\
(U + 005C) - একটি স্পেস
(ইউ + 0020) বারবার (2 * আর ) বার হয়েছে
- একটি ফরোয়ার্ড স্ল্যাশ
/
(U + 002F)
উভয় স্ল্যাশ ম্যাক্রোন ¯
(ইউ + 00 এফ) দ্বারা প্রতিস্থাপন ব্যতীত 0 সারিটি অভিন্ন । প্রতিটি লাইনের শেষে বা মইয়ের নীচে শ্বেত স্পেস অনুসরণ করা ঠিক আছে। শীর্ষস্থানীয় সাদা স্থান নয়।
আর্ক নির্মাণ
মইটি তৈরি হয়ে গেলে, আপনি বাম এবং ডানদিকের মধ্যে অর্ক তৈরি করতে পারেন। একটি তোরণ পুরোপুরি এক সারির মধ্যে থাকে এবং শীর্ষস্থান \
এবং পিছনের মধ্যবর্তী স্থানগুলি প্রতিস্থাপন করে /
। অতএব, সারি 2 এর চকে 4 টি অক্ষর থাকবে, সারি 3 এর 6 টি থাকবে 6 এবং আরও প্রতিটি চাপটি নীচের বিধিগুলি ব্যবহার করে রচনা করা হয়:
- কেবলমাত্র অনুমোদিত অক্ষরগুলি
_/¯\
(U + 005F, U + 002F, U + 00AF, U + 005C) - একটি মসৃণ চেহারা নিশ্চিত করার জন্য, যে কোনও
¯
বা/
একটি অনুসরণ করতে হবে¯
or\
- একটি মসৃণ চেহারা নিশ্চিত করার জন্য, যে কোনও
_
বা\
একটি অনুসরণ করতে হবে_
or/
- উপরে দুটি নিয়ম মইয়ের প্রান্তগুলিতেও প্রযোজ্য
- কার্যকরভাবে উপরে তিনটি নিয়ম মানে চাপ প্রথম অক্ষরের হতে হবে
_
বা/
শেষ অক্ষরের হওয়া আবশ্যক_
অথবা\
(\¯\_//
উভয় প্রান্ত অবৈধ কিন্তু\_/¯\/
ঠিক আছে) - প্রদত্ত বিন্দুতে প্রতিটি মঞ্জুরিপ্রাপ্ত চরিত্রের জন্য একটি শূন্যের সুযোগ থাকতে হবে
- প্রতিটি চাপ অন্য প্রতিটি চাপ থেকে পৃথক
অ্যানিমেশন
একক আর্কের জীবনটি তৈরি করা হয় এটি সারি 1 এ শুরু করে এবং এটি শীর্ষে না পৌঁছানো পর্যন্ত একবারে এক সারি উপরে "সরিয়ে" রেখে is IE, প্রথমে সারি 1 এ একটি চাপ তৈরি করুন, তারপরে এটিকে আবার স্পেসে সেট করুন এবং সারি 2 এ একটি চাপ তৈরি করুন, এবং আরও অনেক কিছু। ( এন ) প্রদর্শনের জন্য বেশ কয়েকটি আর্ক দেওয়া হয়েছে, নিম্নলিখিত নির্দেশিকাগুলি ব্যবহার করে একবারে সেই অনেক আরকের একের পুরো জীবনটি দেখান:
- যে কোনও সময়ে কেবল একটি জীবন্ত "জীবিত" হওয়া উচিত। পরবর্তী চাপটি বর্তমানের শীর্ষে না পৌঁছানো এবং তারপরে নির্বাচিত হওয়া অবধি শুরু করা যায় না।
- তোরণ জীবনের প্রতিটি সারি ঠিক এক ফ্রেমের জন্য দেখানো উচিত shown
- নতুন আরক শুরুর আগে একটি বেসিক সিঁড়ি (কোনও চাপ না দিয়ে) থাকা উচিত (প্রথম চাপের আগে alচ্ছিক)
- অ্যানিমেশনটিতে এন আর্কের পুরো জীবন দেখাতে হবে । যদি এন = 0 হয় তবে এটি বন্ধ না হওয়া অবধি চিরতরে এলোমেলো করে দেওয়া উচিত।
- যদি এন > 0 হয়, আপনি এখনও অ্যানিমেশনটি চিরতরে লুপ করতে পারেন তবে এটি অবশ্যই একই বার্তাগুলির লুপ হতে হবে over (এই পোস্টের শীর্ষে জিআইএফ উদাহরণটিতে এইচ = 6 এবং এন = 3 রয়েছে তবে এটি চিরকালের জন্য লুপ হয়))
- অ্যানিমেশনটি জায়গায় জায়গায় হওয়া উচিত। এটি হ'ল, প্রতিটি ফ্রেমের সম্পূর্ণরূপে পরবর্তী ফ্রেমটি ওভাররাইট করা উচিত এবং একই স্থানে থাকা উচিত।
- প্রতিটি ফ্রেমের দৈর্ঘ্য আপনি যা চান তা হতে পারে তবে এটি কোনও মানুষের দ্বারা এটিকে দেখার জন্য উপযুক্ত করে তোলে (IE, আপনার সাধারণ জ্ঞানটি ব্যবহার করুন: 0.01s / ফ্রেম এবং 30s / ফ্রেম উভয়ই অগ্রহণযোগ্য))
ইনপুট আউটপুট
- ইনপুট এবং আউটপুট যে কোনও মানক বিন্যাসে থাকতে পারে
- আপনি একটি জিআইএফ রফতানি করতে পারবেন, স্ক্রিনে পাঠ্য লিখতে পারবেন, প্রতিটি ফ্রেমের জন্য একক ফাইল আউটপুট, বা অন্য কোনও যুক্তিসঙ্গত উপায়ে করতে পারেন
- স্ট্যান্ডার্ড লুফোলগুলি নিষিদ্ধ
- মই এইচ উচ্চতা ধনাত্মক পূর্ণসংখ্যা হবে
- এন দেখানোর জন্য আর্কসের সংখ্যাটি একটি অ-নেতিবাচক পূর্ণসংখ্যা হবে
- আপনার পছন্দ অনুযায়ী যে কোনও আদেশে H এবং N উভয়ই ইনপুট হিসাবে নেওয়া হয় (দয়া করে আপনার উত্তরে ক্রমটি অন্তর্ভুক্ত করুন)
জয়ের শর্ত
এটি কোড-গল্ফ তাই সংক্ষিপ্ততম কোডটি জয়ী।
the first character in the arc must be _ or / and the last character must be _ or \
এবং There must be a non-zero chance for each allowable character to occur at a given point
। প্রতিসম হওয়ার জন্য, প্রথম এবং শেষ উভয় চরিত্রই _
প্রতিটি একক সময় হতে হবে যার অর্থ শূন্যতার সম্ভাবনা রয়েছে /
or বা `\` is