ইন আমার আগের চ্যালেঞ্জ , আমি বেশিরভাগ হাতে (তেজ এর চাক্ষুষ ব্লক মোড সহায়তায়) প্রথম ডায়াগ্রাম সৃষ্টি। তবে অবশ্যই আরও ভাল উপায় থাকতে হবে ...
দুটি মাত্রা, একটি প্রস্থ এবং একটি উচ্চতার একটি ইনপুট দেওয়া হয়েছে, এএসসিআইআই আর্টের এই মাত্রাগুলি সহ একটি ষড়ভুজ গ্রিড আউটপুট দেয়।
এখানে ইন্ট্রোতে রেখাচিত চিত্রটি দেওয়া হয়েছে (ছোট সম্পাদনা সহ) যা ইনপুটটির জন্য আপনার আউটপুট হওয়া উচিত width=7, height=3
:
_____ _____ _____
/ \ / \ / \
_____/ -2,-1 \_____/ 0,-1 \_____/ 2,-1 \_____
/ \ / \ / \ / \
/ -3,-1 \_____/ -1,-1 \_____/ 1,-1 \_____/ 3,-1 \
\ / \ / \ / \ /
\_____/ -2,0 \_____/ 0,0 \_____/ 2,0 \_____/
/ \ / \ / \ / \
/ -3,0 \_____/ -1,0 \_____/ 1,0 \_____/ 3,0 \
\ / \ / \ / \ /
\_____/ -2,1 \_____/ 0,1 \_____/ 2,1 \_____/
/ \ / \ / \ / \
/ -3,1 \_____/ -1,1 \_____/ 1,1 \_____/ 3,1 \
\ / \ / \ / \ /
\_____/ \_____/ \_____/ \_____/
কয়েকটি বিষয় লক্ষ্য করুন:
প্রস্থ এবং উচ্চতা যথাক্রমে প্রদত্ত y এবং x স্থানাঙ্কের জন্য কতগুলি হেক্সাগন রয়েছে তার সমতুল্য। এগুলি সর্বদা বিজোড় সংখ্যা হবে।
প্রতিটি ষড়ভুজ ASCII শিল্প দ্বারা প্রতিনিধিত্ব করা হয়
_____ / \ / \ \ / \_____/
তবে সীমান্তগুলি প্রতিবেশী হেক্সাগনগুলির মধ্যে "ভাগ" করা হয়েছে।
স্থানাঙ্কের কমাটি সর্বদা শীর্ষ প্রান্তের কেন্দ্রের নীচে ঠিক দুটি অক্ষর থাকে। এর পরে এক্স-স্থানাংকটি সরাসরি কমা এর আগে স্থাপন করা হয় এবং তার পরে সরাসরি y- স্থানাঙ্ক হয়।
আপনি ধরে নিতে পারেন যে স্থানাঙ্কগুলি কখনও এত বড় হবে না যে তারা ষড়ভুজ সীমানাকে ওভারল্যাপ করবে।
ইনপুটটি একটি সাদা স্থান- / কমা-বিচ্ছিন্ন স্ট্রিং, পূর্ণসংখ্যার অ্যারে বা দুটি ফাংশন / কমান্ডলাইন আর্গুমেন্ট হিসাবে নেওয়া যেতে পারে। আউটপুট অবশ্যই একক স্ট্রিং (STDOUT- এ, ফেরতের মান হিসাবে, ইত্যাদি) হতে হবে।
যেহেতু এটি কোড-গল্ফ , তাই বাইটের মধ্যে সংক্ষিপ্ততম কোডটি জিতবে।
উপরের গ্রিডটি পরীক্ষার ক্ষেত্রে ব্যবহার করা যেতে পারে। সর্বাধিক আকারের
width=199, height=199
গ্রিডটি এখানে অন্তর্ভুক্ত করা স্পষ্টতই অবাস্তব, তবে প্রথম কয়েকটি সারি এবং কলামগুলি নিম্নলিখিতগুলির মতো হওয়া উচিত:
_____ ___
/ \ /
_____/-98,-99\_____/-96,
/ \ / \
/-99,-99\_____/-97,-99\___
\ / \ /
\_____/-98,-98\_____/-96,
/ \ / \
/-99,-98\_____/-97,-98\___
\ / \ /
\_____/-98,-97\_____/-96,
/ \ / \
/-99,-97\_____/-97,-97\___
\ / \ /