পটভূমি
উত্তর গোলার্ধে গ্রীষ্মকাল শেষ হয়ে গেছে এবং আমরা প্রচুর সূর্য, সৈকত, সমুদ্রের ,েউ মিস করি ... এই চ্যালেঞ্জটি তাদের সমুদ্রের স্মরণ করিয়ে উত্সাহিত করা at
চ্যালেঞ্জ
সমুদ্র এখানে:
** ** ** ** **
**** **** **** **** ****
***** ***** ***** ***** *****
** ** ** ** ** ** ** ** ** **
** ** ** ** ** ** ** ** ** **
** ****** ****** ****** ****** ****
সমুদ্রটি এই তরঙ্গ প্যাটার্নের 5 বার দিয়ে তৈরি:
**
****
*****
** **
** **
* *****
নোট করুন যে প্যাটার্নটি 16 অক্ষর দীর্ঘ এবং সমুদ্র এই ধরণটির 5 গুণ = 80 অক্ষর দীর্ঘ।
আপনি এই কমান্ড-লাইনটি ব্যবহার করে টার্মিনালে মুদ্রণ করতে পারেন:
perl -e 'print " ** \n **** \n ***** \n ** ** \n ** ** \n* *****\n"'
বা এটি একটি:
perl -e 'print " "x12, "*"x2, " "x2, "\n", " "x8, "*"x4, " "x4, "\n", " "x5, "*"x5, " "x6, "\n", " "x3, "*"x2, " "x3, "*"x2, " "x6, "\n", " "x1, "*"x2, " "x6, "*"x2, " "x5, "\n", "*"x1, " "x10, "*"x5, "\n"'
(দ্বিতীয়টি সঠিক প্যাটার্নটি পেতে আপনার পক্ষে সহজ করা উচিত)
আপনার কাজটি হ'ল সমুদ্রকে টার্মিনালে প্রদর্শন করা এবং তরঙ্গগুলি ডান দিকে এগিয়ে যাওয়ার মতো চেহারা তৈরি করা: এটি প্রতি 100 মিমি (= 10 বার প্রতি সেকেন্ডে) 1 অক্ষরের গতিতে ডানদিকে যেতে হবে। ৮০ তম কলামের পরে কোনও অক্ষর মুদ্রিত হওয়া উচিত নয়, তবে ডান দিকের তরঙ্গটি অদৃশ্য হওয়ার সাথে সাথে একটি নতুন চিত্র বাম দিকে উপস্থিত হবে।
এখানে আউটপুট উদাহরণ:
সময় = 0.0 সে
** ** ** ** **
**** **** **** **** ****
***** ***** ***** ***** *****
** ** ** ** ** ** ** ** ** **
** ** ** ** ** ** ** ** ** **
** ****** ****** ****** ****** ****
সময় = 0.1 সে
** ** ** ** **
**** **** **** **** ****
***** ***** ***** ***** *****
** ** ** ** ** ** ** ** ** **
** ** ** ** ** ** ** ** ** **
*** ****** ****** ****** ****** ***
সময় = 0.2 সে
* ** ** ** ** *
**** **** **** **** ****
***** ***** ***** ***** *****
** ** ** ** ** ** ** ** ** **
** ** ** ** ** ** ** ** ** **
**** ****** ****** ****** ****** **
সময় = 0.3
** ** ** ** **
**** **** **** **** ****
***** ***** ***** ***** *****
** ** ** ** ** ** ** ** ** **
** ** ** ** ** ** ** ** ** **
***** ****** ****** ****** ****** *
সময় = 0.4 সে
** ** ** ** **
* **** **** **** **** ***
***** ***** ***** ***** *****
** ** ** ** ** ** ** ** ** **
** ** ** ** ** ** ** ** ** **
****** ****** ****** ****** ******
অবশ্যই, প্রতিটি আউটপুট পূর্ববর্তী এক প্রতিস্থাপন করা উচিত।
অ্যানিমেশন দিয়ে এটি দেখতে কেমন হবে তা দেখতে আপনি এই কোডটি একটি ইউনিক্স টার্মিনালে চালাতে পারেন:
perl -M5.010 -MTime::HiRes=sleep -E '@arr=([($")x12,($n="*")x2,($")x3],[($")x8,($n)x4,($")x4],[($")x5,($n)x5,($")x6],[($")x3,($n)x2,($")x3,($n)x2,($")x6],[($")x1,($n)x2,($")x6,($n)x2,($")x5],[($n)x1,($")x10,($n)x5]);while(++$j){for$i(0..5){for$k(0..15) {$out[$i][16*$_+$k]=$arr[$i][($k-$j)%16]for 0..4}}say"\e[H",$/,join$/,map{join"",@$_}@out;sleep 0.1}'
(দ্রষ্টব্য যে এই কোডটি খুব ভালভাবে গল্ফড নয়: আমি কেবল এটি টার্মিনালে চালানোর পক্ষে সুবিধাজনক হওয়ার জন্য যথেষ্ট কমপ্যাক্ট তৈরি করেছি।)
বিজয়ী মানদণ্ড
এটি কোডগল্ফ, তাই বাইট জেতে সংক্ষিপ্ততম কোড।