সৈকতে একদিন


14

এই চ্যালেঞ্জ দ্বারা অনুপ্রাণিত


গোল:

লক্ষ্যটি হল একটি সৈকতে ক্র্যাশ করে তরঙ্গ আঁকানো draw

ইনপুট:

আপনাকে ইনপুট হিসাবে 3 টি পূর্ণসংখ্যা (আপনি যে কোনও বিন্যাসে চান) দেওয়া হবে।
প্রথম পূর্ণসংখ্যার অঙ্কনটির দৈর্ঘ্য হবে দ্বিতীয় পূর্ণসংখ্যাটি বালুচরটির সূচক হবে, যেখানে তরঙ্গগুলি ক্রেস্ট করা শুরু করে (সৈকত থেকে কমপক্ষে 3 স্পেস)
তৃতীয় পূর্ণসংখ্যা হবে তরঙ্গগুলির মধ্যে ফাঁকা স্থান (কমপক্ষে 3, পারে) অঙ্কনের দৈর্ঘ্যের চেয়ে বড় হোন, এক্ষেত্রে আপনি কেবল একটি তরঙ্গ আঁকেন)

আউটপুট:

আউটপুটটি অক্ষরের একটি বাক্স হবে যা তরঙ্গগুলি সৈকতে ক্র্যাশ করে দেখায়। প্রথম তরঙ্গ সৈকতে ক্র্যাশ শেষ হয়ে গেলে অঙ্কনটি শেষ করা উচিত।

প্রথমে, তরঙ্গটি ফোলা ( _-_) হিসাবে প্রদর্শিত হয় ।
তরঙ্গটি বালির পাশ দিয়ে যাওয়ার সাথে সাথে এটি ক্রেস্ট হতে শুরু করে ( /c_)।
অবশেষে, তরঙ্গ সৈকতে ক্রাশ হয়ে গেছে ( /c.=> _-_=> ___=> __.)।

উদাহরণ:

ইনপুট: 14 4 6

আউটপুট:

-___________..  
_-__________..  
__-_________..  
___-________..  
___/c_______..  
____/c______..  
-____/c_____..  
_-____/c____..  
__-____/c___..  
___-____/c__..  
___/c____/c_..  
____/c____/c..  
-____/c____-_.  
_-____/c_____.  
__-____/c___..

ইনপুট: 10, 2, 11

আউটপুট:

-_______..
_-______..
_/c_____..
__/c____..
___/c___..
____/c__..
_____/c_..
______/c..
_______-_.
_________.
________.. 

ইনপুট: 6 0 3

c___..
/c__..
_/c_..
c_/c..
/c_-_.
_/c__.
c_/c..

নিয়মাবলী:

স্ট্যান্ডার্ড লুফোলস প্রযোজ্য

এটি তাই সংক্ষিপ্ততম কোডের জয়


2
·ASCII নয়, যা কিছু ভাষা বাদ দিতে পারে। এটি দ্বারা প্রতিস্থাপন করা যাবে .?
লুইস মেন্ডো

@ লুইস মেন্ডো সমুদ্র সৈকতটি ASCII সময়কাল হওয়ার কথা। সৈকতে তরঙ্গ ক্র্যাশ হওয়ার উদাহরণটি কালটি অন্যথায় অন্যভাবে অদৃশ্য হওয়ার কারণে is
fəˈnɛtɪk

1
যা আমাকে বিপরীত প্রশ্নের দিকে নিয়ে যায়: আমরা কি ·ASCII পিরিয়ডের পরিবর্তে ব্যবহার করতে পারি ? (এটি আসলে আমার কোডের পরিবর্তে বড় জয়।)
আরনল্ড

হয় ব্যবহার করা বা জরিমানা করা উচিত। ধারণাটি হ'ল কোড আউটপুট উদাহরণ আউটপুটগুলির সাথে সামঞ্জস্যপূর্ণ প্রদর্শিত হয়।
fəˈnɛtɪk

উত্তর:


5

জাভাস্ক্রিপ্ট (ES6), 250 243 বাইট

এই কোডটি কোড পৃষ্ঠা # 1252 ধরে নিয়েছে এবং ·(0xB7) অক্ষরটি ব্যবহার করছে । 3 স্বতন্ত্র পরামিতি হিসাবে ইনপুট নেয় (a,b,c)

(a,b,c,R=n=>'_'.repeat(n-2),s=(x=b?'-':'c')+R(a-1)+'··')=>(g=j=>s+`
`+((F=`__·$,_-_·,/c··,-__,^${C=R(b>2?b:2)}__-,/c_,^c_,^_${S=R(c)},_··,___·,_-_·,_-_,${C}/c_,_/c,/c,${x+S}`.split`,`).map((r,i)=>s=i&8?s:s.replace(RegExp(r,'g'),F[i+8])),j--?g(j):''))(a)

কিভাবে এটা কাজ করে

এই কোডটি একটি স্ট্রিংয়ের সাথে শুরু হয় -______··এবং তরঙ্গগুলিকে সজীব করতে প্রতিটি পুনরাবৃত্তিতে ক্রমাগত নিয়মিত অভিব্যক্তি প্রয়োগ করে।

উদাহরণস্বরূপ -__সঙ্গে প্রতিস্থাপন করা হয় _-_

প্রথমদিকে, এটি একটি যুক্তিসঙ্গত ধারণা মত লাগছিল। তবে, স্ট্রিংটি একটি দিয়ে শুরু হতে পারে c(এটি তৃতীয় পরীক্ষার ক্ষেত্রে যেমন হয়) জিনিসগুলি উল্লেখযোগ্যভাবে আরও জটিল করে তোলে।

পরীক্ষার মামলা


2

ব্যাচ, 273 243 বাইট

@echo off
set f=for /l %%i in (0,1,%1)do call
set s=set b=
%s%.. 
%f% %s%_%%b%%
%f%:c %%i %2 %3
exit/b
:c
set/aw=%1%%%3
if %w%==0 %s%__-%b:~3%
if %w%==%2 %s%%b:_-=/c%
%s%_%b:~0,-4%%b:~-3%
%s%%b:__. =_.. %
%s%%b:/.=-_%
echo %b:~3%

দ্রষ্টব্য: 4 লাইনে ট্রেলিং স্পেস যদি কেবল দুটি সৈকতের অক্ষরই আলাদা হয় তবে আমি 3 বাইট সংরক্ষণ করতে পারি এবং জাভাস্ক্রিপ্টকে আসলেই হারাতে পারি!

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.