আপনার টার্মিনাল সমুদ্র


46

পটভূমি

উত্তর গোলার্ধে গ্রীষ্মকাল শেষ হয়ে গেছে এবং আমরা প্রচুর সূর্য, সৈকত, সমুদ্রের ,েউ মিস করি ... এই চ্যালেঞ্জটি তাদের সমুদ্রের স্মরণ করিয়ে উত্সাহিত করা 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}'

(দ্রষ্টব্য যে এই কোডটি খুব ভালভাবে গল্ফড নয়: আমি কেবল এটি টার্মিনালে চালানোর পক্ষে সুবিধাজনক হওয়ার জন্য যথেষ্ট কমপ্যাক্ট তৈরি করেছি।)

বিজয়ী মানদণ্ড

এটি কোডগল্ফ, তাই বাইট জেতে সংক্ষিপ্ততম কোড।


2
আমরা কি কোনও ফ্রেমে অ্যানিমেশন শুরু করতে পারি?
আর্নৌল্ড

2
05ab1e.tryitonline.net/… খুব খারাপ 05AB1E প্রাণবন্ত হতে পারে না, এটি ছোট হত।
ম্যাজিক অক্টোপাস উরান

2
@ আরনাউল্ড হ্যাঁ, আপনি পারেন।
দাদা

2
ওহ আপনি ঠিক! এগুলি সত্য ল্যাম্বডাস
লুইস মেন্ডো

14
"গ্রীষ্মকাল শেষ হয়েছে" এটি আপনার খুব উত্তর গোলার্ধে।
মাইক দ্য লাইয়ার

উত্তর:


18

এমএটিএল , 41 40 বাইট

`'3SJp/B@Tc`@+ara'F'* 'Za6el&Xx80:@-Z)DT

উদাহরণ রান:

এখানে চিত্র বর্ণনা লিখুন

অথবা এমএটিএল অনলাইন এ চেষ্টা করুন ! (প্রকৃত গতি সার্ভার লোডের উপর নির্ভর করে)।

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

`                    % Do...while
  '3SJp/B@Tc`@+ara'  %   Compressed string (actually it's just a change of base)
  F                  %   Push false. Indicates base-95 input alphabet for decompression
  '* '               %   Push this string, which defines output alphabet
  Za                 %   Base conversion. This decompresses the string
  6e                 %   Reshape as a 6-row char array. This gives the basic pattern
  l&Xx               %   Pause 0.1 seconds and clear screen
  80:                %   Push array [1 2 ... 80] 
  @-                 %   Subtract iteration index to each element of that array. This
                     %    will produce the rotation via modular indexing
  Z)                 %   Use as column index. Indexing is modular, so this repeats
                     %   (and rotates) the pattern
  D                  %   Display
  T                  %   True. Loop condition for infinite loop
                     % Implicit end

19

জাভাস্ক্রিপ্ট (ES6) + এইচটিএমএল, 151 143 + 10 = 161 153 বাইট

a=[48,15,57347,6147,1542,504];setInterval("a=a.map(n=>{for(x=-1;++x<80;)s+=' *'[n>>x%16&1];s+=`\n`;return n>>>15|n<<1},s='');O.innerHTML=s",99)
<pre id=O>


ভেরিয়েবলের কাজ কী a?
ক্রিটিকি লিথোস

@ ক্রিটিক্সিলিথোস aবাইনারি-এনকোড ওয়েভ প্যাটার্ন ধারণ করে এবং প্রতিটি ফ্রেমে ঘোরানো হয়। সুতরাং, এটি হার্ডকোড করা যায় না: এটি একটি ভেরিয়েবলে সংরক্ষণ করা দরকার।
আর্নৌল্ড

16

এইচটিএমএল + সিএসএস, 70 + 181 175 = 245 বাইট

করে তোলে ব্যবহার text-shadow, rtlটেক্সট এবং CSS কীফ্রেম অ্যানিমেশন।

a{display:flex;overflow:hidden;width:80ch}pre{text-shadow:16ch 0,32ch 0,48ch 0,64ch 0,80ch 0;direction:rtl;animation:w steps(16)1.6s infinite}@keyframes w{0%{margin-left:-16ch
<a><pre>**
  ****
    *****
    **   **
   **      **
***          ***


9

সি # 450 444 425 417 বাইট

399 ছাড়া using System.Linq;তবে আমি নিশ্চিত যে এটি প্রতারণা করবে ...

সম্পাদনা: 25 বাইট সংরক্ষিত হয়েছে @ কোয়েসকে ধন্যবাদ

Golfed:

void S(){Func<string,string>r=a=>string.Concat(Enumerable.Repeat(a,5));Func<string,int,string>s=(b,i)=>(b.Substring(16-i)+b).Substring(0,80);int p=0;for(;;){Console.Clear();Console.WriteLine(string.Join("\r\n",new string[]{s(r("            **  "),p),s(r("        ****    "),p),s(r("     *****      "),p),s(r(" **      **     "),p),s(r("*          *****"),p),}));Thread.Sleep(100);p++;if(p==16)p=0;}}

Ungolfed:

public void S()
{
  Func<string, string> r = a => string.Concat(Enumerable.Repeat(a, 5));
  Func<string, int, string> s = (b, i) => (b.Substring(16 - i) + b).Substring(0, 80);

  int p = 0;
  for(;;)
  {
    Console.Clear();
    Console.WriteLine(
      string.Join("\r\n", new string[]
    {
      s(r("            **  "), p),
      s(r("        ****    "), p),
      s(r("     *****      "), p),
      s(r(" **      **     "), p),
      s(r("*          *****"), p),})
      );
    Thread.Sleep(100);
    p++;

    if (p == 16)
      p = 0;
  }
}

এখানে চিত্র বর্ণনা লিখুন


1
আমি মনে করি আপনি এতে প্রথম বন্ধনী সরাতে পারেন (a)=>। এবং while(true)হতে পারেfor(;;)
সাইওস


দু'জনেই কাজ করেছেন, আমাকে মোট 25 টি বাইট সাশ্রয় দিয়েছিলেন, ধন্যবাদ! :)
পিট আর্দেন

আপনি আপনার পুরো ফাংশনটিকে ল্যাম্বডায় পরিণত করতে পারেন। আমি মনে করি আপনি এটি \rথেকে অপসারণ করতে পারেন string.Join(উইন্ডোজে এটি কমপক্ষে এটি কাজ করে, মনো এর সাথে এটি পরীক্ষা করে নি) আপনি এ p++জাতীয় forলুপটি রেখে 1 বাইটও সংরক্ষণ করতে পারেনfor(;;p++)
স্টেফান

নীচে সীমানা চেক অপসারণ করতে ( if (p==16)...) আপনি এটিকে এটির মতো লুপ হেডারেও রাখতে পারেন for(;;p=++p%16)pলুপে ঘোষণা করে আরও 1 বাইট সংরক্ষণ করুন ( for(int p=0;;p=++p%16))
স্টিফান

7

ভি, 98 97 73 বাইট

24 বাইট সংরক্ষণের জন্য @ nmjcman101 ধন্যবাদ!

i¹ ³ **  
¸ ´*´ 
µ µ*¶ 
³ **³ **¶ 
 **¶ **µ 
*± µ*<ESC>{<C-v>}y4pò:sl100m
$<C-v>}x|Pò

এটিতে অনেকগুলি অপ্রিন্টেবল রয়েছে, সুতরাং এখানে একটি এক্সএক্সডি হেক্সডাম্প রয়েছে:

0000000: 69c2 b920 c2b3 202a 2a20 200a c2b8 20c2  i.. .. **  ... .
0000010: b42a c2b4 200a c2b5 20c2 b52a c2b6 200a  .*.. ... ..*.. .
0000020: c2b3 202a 2ac2 b320 2a2a c2b6 200a 202a  .. **.. **.. . *
0000030: 2ac2 b620 2a2a c2b5 200a 2ac2 b120 c2b5  *.. **.. .*.. ..
0000040: 2a1b 7b16 7d79 3470 c3b2 3a73 6c31 3030  *.{.}y4p..:sl100
0000050: 6d0a 2416 7d78 7c50 c3b2 0a              m.$.}x|P...

সম্পাদন করা

  1. y$পরিবর্তে ব্যবহৃত হয়<C-v>$y

  2. অনেক পরিবর্তন

    • প্রতিটি লাইন অনুলিপি করে 4 বার আটকানোর পরিবর্তে আমি প্রথমে তরঙ্গটি তৈরি করি এবং তারপরে পুরো জিনিসটি অনুলিপি করে 4 বার আটকান
    • ব্যবহৃত {এবং }কয়েকটি বাইট সংরক্ষণ করতে
    • òঅসীম লুপ তৈরি করতে রেজিস্টারগুলির পরিবর্তে ব্যবহৃত হয় (কোনও কারণে òএটির কাজ করার জন্য আমাকে শেষের দিকে একটি অন্তর্ভুক্ত করতে হবে)
    • *নীচে স্থির স্থির

মিনি-ব্যাখ্যা

আমি <alt-n>স্ট্রিংয়ের অনুলিপি তৈরি করতে ব্যবহার করছি । উদাহরণস্বরূপ, <alt-5>*(এটি দেখে মনে হচ্ছে µ5) সন্নিবেশ মোডের 5অনুলিপিগুলি তৈরি *করে। এটি আমি স্ট্রিংটি অনুলিপি করা এবং প্রয়োজনীয় প্রতিস্থাপনগুলি করার জন্য একটি রেজেক্স ব্যবহার করার চেয়ে কম বলে মনে করেছি। একটি তরঙ্গ তৈরির পরে, আমি অন্যান্য তরঙ্গ তৈরি করতে এটি আটকান। অবশেষে, আমি òঅসীম লুপ তৈরি করতে পুনরাবৃত্তভাবে লুপ ব্যবহার করি (একটি বিলম্বের সাথে 100ms)।

gif

কোডটির বেশিরভাগটি তরঙ্গ তৈরির দিকে উত্সর্গীকৃত, তাই আমি এখনও এটি গল্ফ করার চেষ্টা করছি। নোট করুন যে এই কোড টিআইওতে কাজ করবে না যেহেতু টিআইও কোডটি কার্যকর করে শেষ করার পরে আউটপুট আউটপুট দেয়। তাই এখানে একটি GIF এর (দুঃখিত নিম্ন মানের জন্য, আমি ব্যবহার করার জন্য একটি ওয়েবসাইটে একটি রূপান্তর করতে ছিল .movএকটি থেকে .gif, এছাড়াও >_যে অধিকার পপিং রাখে আমার ম্যাক এর ডকে টার্মিনাল আইকন):

তরঙ্গ gif


আপনার মজাদার পুনরাবৃত্তি সংখ্যাগুলি কীভাবে কাজ করে সে সম্পর্কে আমার খুব কম ধারণা আছে তবে আপনি যদি একটি তরঙ্গ তৈরি করেন এবং এটির অনুলিপি / আটকাতে পারেন তবে আপনি অক্ষরগুলি সংরক্ষণ করতে পারবেন (প্রতিটি লাইন 4 বার পেস্ট করার পরে অনুলিপি করুন) ট্রাইআইটঅনলাইনে লিঙ্ক করুন
nmjcman101

কম সহায়কভাবে, আমি মনে করি আপনার 5j(প্রসঙ্গে $<C-V>5j) স্রেফ হতে পারে }, এবং এর pপরে একটিটি হওয়া |উচিত Pযা *নীচের বামে স্থির স্থির করবে ।
nmjcman101

1
অবশেষে (মন্তব্য স্প্যামের জন্য দুঃখিত, স্পষ্টত তারা 5 মিনিটের জন্য সম্পাদনাযোগ্য) আপনি প্রান্তটি qm[CODE]@mq@mস্রেফ দিয়ে প্রতিস্থাপন করতে পারেন ò[CODE]। এর মধ্যে কোডটি òভাঙা অবধি লুপ হয়ে যাবে (একইভাবে আপনার ম্যাক্রোর মতো) এবং একটি প্রোগ্রাম শেষে একটি òস্পষ্টভাবে বন্ধ হয়ে যায়।
nmjcman101

@ nmjcman101 আপনার সহায়তার জন্য ধন্যবাদ! (আপনি যদি আমাকে কয়েকটা বাইটে
গল্ফকে

6

ব্যাচ, 424 বাইট

@echo off
set f=     
set a=%f%%f%  **  
set b=%f%   ****    
set c=%f%***** %f%
set d=   **   ** %f%
set e= **%f% **%f%
set f=*%f%%f%*****
set a=%a%%a%%a%%a%%a%%b%%b%%b%%b%%b%%c%%c%%c%%c%%c%%d%%d%%d%%d%%d%%e%%e%%e%%e%%e%%f%%f%%f%%f%%f%
:l
cls
echo %a%
set a=%a:~79,1%%a:~0,79%%a:~159,1%%a:~80,79%%a:~249,1%%a:~160,79%%a:~319,1%%a:~240,79%%a:~399,1%%a:~320,79%%a:~-1%%a:~-80,79%
ping>nul 1.1 -n 1 -w 100
goto l

কিছু লাইনে স্থানের স্থান রয়েছে। একটি স্ট্যান্ডার্ড 80-কলামের টার্মিনাল প্রয়োজন। সময়টি খুব সঠিক নয়, তবে ব্যাচে আপনি যা করতে পারেন এটি সেরা।


6

রেকেট 395 374 373 367 364 351 বাইট

স্ক্রিন সাফ করার জন্য একটি বাহ্যিক গ্রন্থাগার ব্যবহার করুন
সম্পাদনা করুন: wফাংশনটি সংজ্ঞায়িত এবং ইনলাইন না করে 21 বাইট সংরক্ষণ করা হয়েছে ।
সম্পাদনা 2: একটি স্থান সরিয়ে 1 বাইট সংরক্ষণ করা হয়েছে।
Edit3: সংরক্ষিত 6 বাইট পুনঃনামকরনের দ্বারা loopকরতে p, ধন্যবাদ @rnso!
সম্পাদনা 4: 3 বাইট সংরক্ষণের সাবস্ট্রিং লাগানো।
সম্পাদনা 5: সরান #lang racket, যা দোভাষীর প্রয়োজন হয় না।

গল্ফড: 351 বাইট

[require[planet neil/charterm:3:0]][let p([n 1])[with-charterm[void[charterm-clear-screen]]][for([i'["            **  ""        ****    ""     *****      ""   **   **      "" **      **     ""*          *****"]])[let([g substring][x[string-join[make-list 5 i]""]])[displayln[string-append[g x[- 16 n]][g x 0[- 16 n]]]]]][sleep .1][p[modulo[+ n 1]16]]]

স্ক্রোলিং (পরিষ্কার নয়): 272 বাইট

[let p([n 1])[for([i'["            **  ""        ****    ""     *****      ""   **   **      "" **      **     ""*          *****"]])[let([g substring][x[string-join[make-list 5 i]""]])[displayln[string-append[g x[- 16 n]][g x 0[- 16 n]]]]]][sleep .1][p[modulo[+ n 1]16]]]

Ungolfed:

#lang racket
[require [planet neil/charterm:3:0]]
[define w
'[
"            **  "
"        ****    "
"     *****      "
"   **   **      "
" **      **     "
"*          *****"]]
[define (rotmul count)
  [for ([i w])
    [let ([x [string-join [make-list 5 i] ""]])
      [displayln [string-append [substring x count]
                                [substring x 0 count]]]]]]

[let loop ([n 1])
  [with-charterm
   [void [charterm-clear-screen]]]
  [rotmul [- 16 n]]
  [sleep .1]
  [loop [modulo [+ n 1] 16]]]

ঢেউখেলানো


বাইট হ্রাস করার জন্য সংক্ষিপ্ত নামগুলিতে নামগুলি পুনরায় নামকরণ (লুপের পরিবর্তে পি এর মতো) করা যেতে পারে। জিআইএফ ফাইলটিতে ভিডিও ক্যাপচারের জন্য আপনি কোন সফ্টওয়্যার ব্যবহার করেছেন?
rnso

@ আরএনএসো: ওহ ঠিক বলেছেন! সেটার কথা ভাবি নি। আমি ব্যবহৃত simplescreenrecorderসঙ্গে avconvGIF করতে MP4 রূপান্তর করবে।
চূড়ান্ত হক

আপনি (জি সাবস্ট্রিং) লেটে রাখতে পারেন যাতে আপনি কোডের পরে 2 টি স্ট্রিং কীওয়ার্ডের জায়গায় জি ব্যবহার করতে পারেন। এটি আপনাকে আরও 5 বাইট সংরক্ষণ করতে হবে। এছাড়াও আপনার অদ্বিতীয় সংস্করণে 'lst' কী করছে?
rnso

@ আরএনএসো: এটি মুছে ফেলা হয়েছে, rotmulবাস্তবে wপ্যারামিটার হিসাবে গ্রহণ করার সময় তার একটি অবশিষ্টাংশ ছিল ।
চূড়ান্ত হক

আপনি গল্ফ করা সংস্করণ থেকে "# লিঙ্গ র‌্যাকেট" অপসারণ করতে পারেন। বাইটগুলি গণনা করার সময় এই সাইটের বেশিরভাগ র্যাকেট কোড এটি অন্তর্ভুক্ত করে না।
rnso

4

পাওয়ারশেল 3.0, 183 182 173 বাইট

বাইনারি শিফট অপারেটরগুলির জন্য পিএস 3.0 প্রয়োজন। অ্যাডমবর্কবার্কের সহায়তায় 173 বাইটে নামা !

$w=12,240,1984,6336,24672,32799
for(){0..5|%{'{0:D16}'-f+[Convert]::ToString(([uint16]$o=$w[$_]),2)*5-replace0,' '-replace1,'*'
$w[$_]=$o-shr1-bor$o-shl15}
sleep -m 100
cls}

PoshWaves


চমৎকার উত্তর! কিছু গল্ফ - এর পরিবর্তে দশমিক ফর্ম্যাট স্পেসিফায়ার ব্যবহার .PadLeftকরে $oঘোষণাকে [convert]কলটিতে স্থানান্তরিত করে এবং অপ্সের সংখ্যার চারপাশে উদ্ধৃতিগুলি সরিয়ে দেয় -replace। আপনাকে 175 এ নামিয়ে দেয় -for(){0..5|%{("{0:D16}"-f+[Convert]::ToString(([uint16]$o=$w[$_]),2))*5-replace0,' '-replace1,'*'
অ্যাডমবর্কবর্ক

@ অ্যাডমবার্কবার্ক ধন্যবাদ! দুঃখিত যে উত্তরটি আপডেট করতে আমার বেশ সময় লেগেছে। আপনি কি ব্যাখ্যা +করতে পারেন "{0:D16}"-f+[Convert]? এটি ছাড়া এটি কাজ করে না, তবে আমি যা করি তা ছাঁটাই করতে পারি না।
বিটক্র্যাকার

[convert]::ToString()একটি স্ট্রিং ফেরৎ। +বাহিনী একটি একটি ঢালাই [int]যাতে -fজন্য সঠিক প্যারামিটার প্রকার আপ D16কাজ।
অ্যাডমবর্কবার্ক

1
@AdmBorkBork আপনি বলতে চাচ্ছেন যে দ্রষ্টব্য একইরূপে +'1'প্রথম summand ছাড়া একটি বৈধ আঙ্কিক অপারেশন মত, কাস্ট stringকরার intএবং আয় ফলাফল? মহান স্কট!
বিটক্র্যাকার

3

বাশ + কোর্টিলস, 172 148 বাইট

24 বাইট সংরক্ষিত হয়েছে @ জেপেলিনকে ধন্যবাদ, অনেক ধন্যবাদ

while :
do clear
cut -c$[i=i%16+1]-$[79+i] <(base64 -d<<<4AJFACddABVgf2dnw+CvmeyOkhIoUJOPLK6oKkljh0+Peqi5BfrbbnDyuVkr+AA==|xz -qdFraw)
sleep .1
done

প্রথম লাইনটি পরপর waves টি তরঙ্গ দ্বারা তৈরি নিম্নলিখিত প্যাটার্নটিকে সংক্রামিত করে:

**              **              **              **              **              **              
            ****            ****            ****            ****            ****            ****
         *****           *****           *****           *****           *****           *****  
       **   **         **   **         **   **         **   **         **   **         **   **  
     **      **      **      **      **      **      **      **      **      **      **      ** 
*****          ******          ******          ******          ******          ******          *

তারপরে, লুপটি সেই প্যাটার্নটির মাধ্যমে 80-বাইট-প্রশস্ত উইন্ডোটি স্লাইড করে।


কোরিটিলস বেস 64 ইউটিলিটি -D পতাকা সমর্থন করে না (পরিবর্তে -D, ছোট হাতের অক্ষর হওয়া উচিত)।
জেপেলিন

আপনি গিজিপের পরিবর্তে কাঁচা এলজেডএমএ (এক্সজেড) ব্যবহার করে ~ 10 বাইট সংরক্ষণ করতে পারেন ( লজমা-ফ্রেও দিয়ে সংকুচিত করুন , এক্স জেড-কিডিফ্রেও দিয়ে সংক্ষেপিত )।
জেপেলিন

আরও 4 টি বাইট সংরক্ষণ করতে আপনি older (()) এর পরিবর্তে পুরানো পাটিগণিত সম্প্রসারণ সিনট্যাক্স $ []] ব্যবহার করতে পারেন
জেপেলিন

স্লিপ কমান্ডে একটি অগ্রণী শূন্য বাদ দেওয়া যেতে পারে, যেমন ঘুম .1 ঠিক কাজ করা উচিত
জেপেলিন

আপনি সুস্পষ্ট আই = 0 ঘোষণা থেকেও মুক্তি পেতে পারেন
জেপেলিন

3

*> <> , 251 250 251 বাইট (প্রতিযোগী নয়)

" **             "e1C0["   ****         "e1C0["     *****      "e1C0["     **   **    "e1C0["    **      **  "e1C0["****          **"e1C0[06.
52Cl2,[52C52C]R
<v0&:l
$>:@=?v1+{:}&l1-[:&$@
?!v]1->:
~R>
vDDDDDD"H;0["ooooo
>l?u1S06.O{52Cl2,[a}48C]I
ol?!R

দ্রষ্টব্য: পরে "H;0["আসকি 27থাকার কথা [

এখানে চেষ্টা করুন! (0 মিমি বিলম্ব সেট করুন)

আমি বিশ্বাস করতে পারি না আমি এটি সফলভাবে তৈরি করে শেষ করেছি। এই ব্যবহার Iএবং Dনির্দেশাবলী, যা বাড়তি বা নির্বাচিত স্ট্যাক decrements। এটি প্রমাণ করে যে বিশুদ্ধ> <> (ঘুমের বিয়োগ) বা একটি প্রতিযোগিতামূলক *> <> উত্তরে এটি করা সম্ভবত সম্ভব, যদিও এটি করা খুব সম্ভবত কঠিন।

ক্যারিজের রিটার্ন ব্যবহার করে আউটপুট সাফ করার জন্য অনলাইন ইন্টারপ্রেটার সংস্করণটি আলাদা।

এই অ প্রতিদ্বন্দ্বী হয়, কারণ I, D, C, এবং Rনির্দেশাবলী চ্যালেঞ্জ কম বয়সী হয়। এই নির্দেশাবলী ব্যতীত এটি সম্ভবত সম্ভব, তবে এটি খুব শক্ত / দীর্ঘ হবে।

সম্পাদনা: আমি আসলে একটি বাইট অপসারণ করতে সক্ষম হয়েছি, তবে আমি এটিও লক্ষ্য করেছি যে আমি আকারটি সঠিকভাবে পরিমাপ করেছি, তাই আমি আসলে একটি বাইট অর্জন করেছি।


আমি পদক্ষেপগুলি ভেঙে দেওয়ার এবং এখানে কী ঘটছে তা ব্যাখ্যা করার জন্য যথাসাধ্য চেষ্টা করব ...

ব্যাখ্যা

" **             "e2C0["   ****         "e2C0["     *****      "e2C0["     **   **    "e2C0["    **      **  "e2C0["****          **"e2C0[09.
# Copy current stack 4 times
54Cl2,[54C54C]R
# Copy stack
<v0&:l
$>:@=?v1+{:}&l1-[:&$@
?!v]1->:
~R>
# Main loop
vDDDDDD"H;0["ooooo
>l?u1S09.O{54Cl2,[a}4cC]I
# Output stack
ol?!R

সুচিপত্র

Line 1 - Initialization
e2C    - Call "copy current stack 4 times"
54C    - Call "copy stack"
09.    - Jump to "main loop"
4cC    - Call "output stack" (not explained, is very simple)

আরম্ভ

এখানে আমরা 6 টি লাইন তৈরি করি যা তরঙ্গগুলি তৈরি করে। সঠিক দৈর্ঘ্যের জন্য আমাদের প্রতিটি স্ট্রিং 5 বার পুনরাবৃত্তি করতে হবে।

আমরা এর 6 টি দিয়ে শুরু করি, তরঙ্গের প্রতিটি লাইনের জন্য একটি:

 " **             "       push " **             " to the stack
                   e2C    call "copy current stack 4 times"
                      0[  create a new stack

এবং আমরা প্রাথমিক লুপটি প্রবেশের মাধ্যমে প্রাথমিককরণের পরে প্রবেশ করি 09.

বর্তমান স্ট্যাক 4 কপি অনুলিপি করুন

এটি একটি সাধারণ ফাংশন যা কেবল বর্তমান স্ট্যাকটি নেয় এবং এটি 4 বার অনুলিপি করে। সুতরাং "ক" "আআআআআ" হয়ে যাবে।

54C              call "copy stack"
   l2,[          copy half the current stack to a new stack
       54C54C    call "copy stack" twice
             ]   close the current stack, moving values to the one below
              R  return from the function

কপি স্ট্যাক

এটি বর্তমান স্ট্যাকটি অনুলিপি করে, বর্তমান স্টাকে অনুলিপি করে।

সেটআপ

প্রাথমিক স্কিপ করতে যাওয়া <এবং আইপিটির দিক পরিবর্তন করার l:&0vপরে এটি কার্যকর হওয়া ক্রম হিসাবে প্রথম লাইনে <উল্টে যাওয়া।

l      push the stack length to the stack
 :&    copy the length to the register
   0   push 0 to the stack
    v  move the IP downwards, entering the loop

এখানে দৈর্ঘ্যের উপর থেকে হিসাবে উল্লেখ করা হবে nএবং 0যেমন i

লুপ

>                        move the IP to the right
 :                       copy i
  @=?v                   pop i from the stack, if n == i, proceed to cleanup
      1+                 add 1 to i
        {:}              copy the first value of the stack to the end of the stack
           &             place n on the stack
            l1-[         open a new stack moving all values but index 0 to the new one
                :&       copy n and place it on the register
                  $@     swap i with the value on its right
                     $   swap i with n

পরিষ্কার কর

>                        move the IP to the right
 :?!v                    if i == 0 then ...
  ~R>                      remove i from the stack and return
     ]                   close the stack, appending all values to the stack below
      1-                 subtract 1 from i

মেইন লুপ

এখানেই কোডটি চিরকাল চলে 100

সেটআপ

DDDDDD                 select the 6th stack down
      "H;0[x"ooooo     move the cursor to the top-left of the term (x == ascii 27)
                  v    move the IP downwards, entering the loop 

লুপ

>                          move the IP to the right
 l?u     O                 if the stack is empty ...
    1S                       sleep for 100ms
      09.                    jump to main loop initialisation
          {                shift the stack left
           54Cl2,[         copy the current stack to a new stack
                  a        append a newline to the stack
                   }       shift the stack to the right
                    4cC    call "output stack"
                       ]   close the stack
                        I  select one stack higher

2

পিএইচপি, 128 বাইট

for($a=[3,60,496,1584,6168,57351];;usleep(1e5))foreach($a as&$x)for($x=$x/2|$x%2<<15,$i=80;$i--;)echo" *"[$x>>$i%16&1],"\n"[$i];

একের বেশি লাইন অ্যানিমেট করা যায় না, তবে এটি স্ক্রোল করে। পুনরাবৃত্তির মধ্যে ফাঁকা লাইনের জন্য অ্যারেতে যুক্ত
করুন ,0। সাথে চালাও -r


2

গণিত, 213 বাইট

i=0;RunScheduledTask[i++,0.1];Dynamic[RotateRight[#,i]&/@Characters/@(StringRepeat[#,5]&)/@{"            **  ","        ****    ","     *****      ","   **   **      "," **      **     ","*          *****"}//Grid]

আমি প্রতিটি লাইনের স্ট্রিংয়ের তালিকাটি শুরু না করে ম্যাথামেটিকায় ওয়েভ প্যাটার্নটি গল্ফ করার কোনও উপায় দেখি না। আমি iহতে শুরু করি 0এবং প্রতি 0.1সেকেন্ডে এটি বাড়ানোর কোনও কার্য নির্ধারণ করি । আমি Dynamicমিত্রতার সাথে নিম্নলিখিত ফলাফলগুলি প্রদর্শন করি :

  1. StringRepeat প্রতিটি লাইন 5 বার।
  2. প্রতিটি লাইনকে এর তালিকায় রূপান্তর করুন Characters
  3. RotateRightদ্বারা অক্ষরের প্রতিটি তালিকা i
  4. অক্ষরের ফলস্বরূপ অ্যারে প্রদর্শন করুন a Grid

এখানে চিত্র বর্ণনা লিখুন


আপনি জিফ ফাইলটি ক্যাপচার এবং তৈরি করতে কোন সফ্টওয়্যার ব্যবহার করেছেন?
rnso

আমি স্ক্রিনটোজিফ ব্যবহার করেছি।
নেজিনিসিস

2

সি (ইউনিক্স), 231 191 বাইট

এটি কেবল ইউনিক্স পরিবেশে কাজ করবে। এছাড়াও, দয়া করে এই সত্যটি ক্ষমা করুন যে ঘুম কেবলমাত্র পূর্ণসংখ্যাকে গ্রহণ করে ... তাই এটি ফ্রেমের মধ্যে 1 সেকেন্ডটি বিলম্বিত করে।

অবরুদ্ধ সংস্করণ:

#include <stdio.h>
int main() {
    int x=0,l,i,a[6]={32799,24672,6336,1984,240,12};
    while(l=6,++x) {
        printf("\033[2J");
        while(i=128,l--) {
            while(i--) putchar(a[l]&1<<(i+x)%16 ? 42 :32);
            puts("");
        }
        sleep(1);
    }
}

গল্ফ সংস্করণ:

#include <stdio.h>
int main(){int x=0,l,i,a[6]={32799,24672,6336,1984,240,12};while(l=6,++x){printf("\033[2J");while(i=128,l--){while(i--)putchar(a[l]&1<<(i+x)%16?42:32);puts("");}sleep(1);}}

1
এটি আপনার টার্মিনালের সি।
রবার্ট ফ্রেজার

2

জাভাস্ক্রিপ্ট (ES6), 152 147 145 বাইট

x=0,c=console;setInterval(a=>{for(c.clear();f="",i=128,++x,a--;c.log(f))for(;i--;)f+=" *"[[32799,24672,6336,1984,240,12][a]>>(i+x)%16&1]},100,6);

আপনি আরও 2 বাইট setInterval(a=>{...},100,6)এবং আরও 4 টি দিয়ে সঞ্চয় করতে পারেন f+=" *"[[...][a]&1<<(i+x)%16]
ETH প্রোডাকশনস

পরামর্শের জন্য ধন্যবাদ! তবে আপনি কি নিশ্চিত যে আপনি কাজ করার জন্য দ্বিতীয় পরামর্শটি পেতে পারেন? অ্যারে সূচক 0-1 এ পুনরুদ্ধার করতে আপনাকে এখনও বুলিয়ানকে এই মানটি বাধ্য করতে হবে। আমি তরঙ্গ ascii আরও একক হেক্স মান মধ্যে বিটম্যাপ করার কথা ভাবছিলাম: 0x801F606018C007C000F0000C তবে জাভাস্ক্রিপ্ট কেবলমাত্র বিটওয়্যার উভয় দিকেই সর্বোচ্চ 31 বিট স্থানান্তর করতে পারে! আপনি প্রতিদিন কিছু শিখতে!
আজাদ

2

পার্ল 6, 140 138 137 123 120 বাইট

for ^Inf ->\i{print "\e[H";for 12,240,1984,6336,24672,32799 ->\j{say [~] map {j+>((i-$_)%16)%2??'*'!!' '},^80};sleep .1}

পুরানো সমাধান:

for ^Inf ->\i {print "\e[H";for 12,240,1984,6336,24672,32799 ->\j {say [~] map {j+>((i-$_)%16)%2??'*'!!' '},^80};sleep .1;}
my @a=12,240,1984,6336,24672,32799;for ^Inf ->\i {print "\e[H";for @a ->\j {for ^80 {print j+>((i-$_)%16)%2??'*'!!' '};say ""};sleep .1;}
my @a=12,240,1984,6336,24672,32799;for ^Inf {print "\e[H";for @a ->\j {for ^80 ->\k {print j+>(($_- k)%16)%2??'*'!!' '};say ""};sleep .1;}
my @a=12,240,1984,6336,24672,32799;for ^Inf {print "\e[H";for @a ->\j {for ^80 ->\k {print j+>(($_+15*k)%16)%2??'*'!!' '};say ""};sleep .1;}

1

পাইথন 3, 240 239 230 বাইট

-১ বাইট @redstarcoder ধন্যবাদ

-9 বাইটস @ পাসকলভকুটেনকে ধন্যবাদ

import time
def p():print("\x1b[0;H")
i=0;p();s=[' '*13+'**',' '*9+'****  ','      *****    ','    **   **    ','  **      **   ','**          ***']
while True:
 for x in s:x*=5;c=i%80;print(x[-c:]+x[:-c])
 i+=1;p();time.sleep(.1)

print("\x1b[0;H")আমার জন্য -1 বাইটের জন্যও কাজ করে।
redstarcoder

আপনি এর ' **'সাথে প্রতিস্থাপন ' '*13+'**'করতে পারেন এবং আপনার কাছে 1 টি অক্ষর ইন্ডেন্ট থাকতে পারে, এটির 4 অক্ষর হওয়ার প্রয়োজন নেই।
পাস্কালভি কেটেন

ধন্যবাদ @ প্যাসালভকুটেন ধন্যবাদ পেস্ট করার সময় ইনডেন্টগুলি ট্যাব অক্ষর থেকে ফাঁকা স্থানগুলিতে রূপান্তরিত হয়েছিল। আমি এটি জন্য নজর রাখা নিশ্চিত করব।
dfernan

1

র‌্যাকেট 295 বাইট

(let*((g string-append)(h substring)(d displayln)(j(λ(l)(map(λ(x)(g(h x 1)(h x 0 1)))l))))(let p((l(map(λ(x)(apply g(for/list((i 5))x)))'("            **  ""         ****   ""      *****     ""    **   **     ""  **      **    ""*          *****"))))(for((i l))(d i))(d"")(sleep .1)(p(j l))))

Ungolfed:

(define(f)
 (define (lf l)
    (map (λ (x) (string-append (substring x 1) (substring x 0 1)))
         l))
  (let loop ((l (map (λ (x) (apply string-append (for/list ((i 5)) x)) )
                     (list 
                      "            **  "
                      "         ****   "
                      "      *****     "
                      "    **   **     "
                      "  **      **    "
                      "*          *****"))))
    (for ((i l))
      (displayln i))
    (displayln "")
    (sleep 0.1)
    (loop (lf l))))

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

(f)

আউটপুট:

এখানে চিত্র বর্ণনা লিখুন

(এই জিআইএফ ফাইল প্রদর্শনটি প্রকৃত আউটপুটের চেয়ে ধীর গতির)।


1

পাইথন 2, 207 202 বাইট

সাধারণত আমি একজন সি # বিকাশকারী, তাই এটি এখনও পুরোপুরি গল্ফ করা যায় না ...

import time;i=0
while 5:
    print"\033[;H"
    for l in[" "*12+"**  "," "*8+"*"*4+" "*4," "*5+"*"*5+" "*6,"   **   **"+" "*6," **     "*2,"*"+" "*10+"*"*5]:print(l[16-i:]+l*5)[:80]
    time.sleep(.1);i=(i+1)%16

1

সি #, 327 বাইট

পাইথনে আমার সমাধানের কমবেশি সংস্করণ ...

_=>{Func<string,int,string>t=(s,j)=>(s.Substring(16-j)+string.Concat(Enumerable.Repeat(s,5))).Substring(0,80);for(var i=0;;i=++i%16){Console.Clear();foreach(var q in "            **  ,        ****    ,     *****      ,   **   **      , **      **     ,*          *****".Split(','))Console.WriteLine(t(q,i));Thread.Sleep(100);}}

1

পার্ল, 110 বাইট

-Eকোনও অতিরিক্ত ব্যয় ছাড়াই প্রয়োজন । এটিতে ছাপিয়ে যাওয়া অক্ষর রয়েছে।

$_=unpack"B*","x?`00?";s!.{16}!$&x5 .$/!ge;y/01/ */;{say"\ec$_";select!s/(.+)(.)$/$2$1/mg,$a,$a,.1;redo}"

নীচের বিপরীতমুখী হেক্সডাম্প ব্যবহার করে উপরের ডেটা তৈরি করুন। xxd -d > sea.plএকটি লিনাক্স বা সামঞ্জস্যপূর্ণ টার্মিনালে চালান , নীচে আটকান এবং Ctrl+ টিপুন d, তারপরে চালান perl -E "$(cat sea.pl)"

0000000: 245f 3d75 6e70 6163 6b22 422a 222c 2200  $_=unpack"B*",".
0000010: 0600 7803 e00c 6030 30c0 0f22 3b73 212e  ..x...`00..";s!.
0000020: 7b31 367d 2124 2678 3520 2e24 2f21 6765  {16}!$&x5 .$/!ge
0000030: 3b79 2f30 312f 202a 2f3b 7b73 6179 225c  ;y/01/ */;{say"\
0000040: 6563 245f 223b 7365 6c65 6374 2173 2f28  ec$_";select!s/(
0000050: 2e2b 2928 2e29 242f 2432 2431 2f6d 672c  .+)(.)$/$2$1/mg,
0000060: 2461 2c24 612c 2e31 3b72 6564 6f7d       $a,$a,.1;redo}

ব্যবহার

সহজ অনুলিপি / আটকানোর জন্য, দয়া করে নীচে ব্যবহার করুন:

perl -E '$_=unpack"B*","\x00\x06\x00\x78\x03\xe0\x0c\x60\x30\x30\xc0\x0f";s!.{16}!$&x5 .$/!ge;y/01/ */;{say"\ec$_";select!s/(.+)(.)$/$2$1/mg,$a,$a,.1;redo}'

ব্যাখ্যা

একটি মোটামুটি সরল সমাধান যা শুরুতে স্ট্রিং হিসাবে তরঙ্গকে সঞ্চয় করে, যা unpackবাইনারি হয়, প্রতিটি বিভাগটি কুইন্টিপ্লিকেটেড হয়, 0গুলি স্পেসে রূপান্তরিত হয় এবং 1এসগুলিতে রূপান্তরিত হয় *। এখন আমাদের পুরো স্ট্রিং রয়েছে তাই আমরা একটি redoলুপ প্রবেশ করি যা পুরো স্ট্রিং প্রিন্ট করে, তারপরে আমরা .1 সেকেন্ডের জন্য অপেক্ষা করি এবং স্ট্রিংয়ের প্রতিটি লাইনের জন্য আমরা শেষ অক্ষরটিকে স্ট্রিংয়ের শুরুতে সরিয়ে নিয়ে যাই।


1

গণিত 171 বাইট

তরঙ্গটি নিজেই ডেটা, তাই আমি আমার কোডটিতে পুরো তরঙ্গের একটি সংকুচিত সংস্করণ সংরক্ষণ করছি। \fð߀ᣀ恠耟এটি বাইনারি উপস্থাপনা ব্যবহার করার জন্য আমি একটি একক তরঙ্গকে আরও নিখুঁতভাবে সঞ্চয় করতে পারি তবে আনপ্রেসিংয়ের অক্ষর গণনা ওভারহেড খুব বেশি *।

কোডটি এখানে:

w=Uncompress@"1:eJxTTMoPSmNjYGAoZgESPpnFJcEBQIYCEtDSUlCglI9iqJYWqhJy+QhDtdCUUMCHGQrmIymiiA8xFMajEg02FMkXWmi+IosPAJNuSHg=";
Dynamic[Pause[.1];Column[w=StringRotateRight/@w]]   

ওয়েভ ডেটার সংকুচিত সংস্করণটি তৈরি করতে আমি এখানে কোডটি ব্যবহার করেছি:

s={"            **  ","        ****    ","     *****      ","   **   **      "," **      **     ","*          *****"};
s//TableForm
StringRepeat[#,5]&/@s
Compress[%]

এই তরঙ্গের মতো সংকুচিত পুনরাবৃত্তি বাইনারি ডেটা সংরক্ষণ করার জন্য আমি এখানে কোডটি পছন্দ করতে চাইতাম:

StringJoin /@ (PadLeft[(IntegerDigits[#1, 2] & ) /@ ToCharacterCode["\fð߀ᣀ恠耟"]] /. {0 -> " ", 1 -> "*"})

আপনি দেখতে পাচ্ছেন, সংক্ষেপিত ডেটাটিকে স্ট্রিংয়ে ফিরিয়ে আনার জন্য ওভারহেড এই বিশেষ সমস্যার জন্য খুব ব্যয়বহুল, যদিও একটি একক তরঙ্গ এইভাবে 7 ইউটিএফ অক্ষর এবং 15 বাইট দ্বারা সংরক্ষণ করা যেতে পারে।

একক তরঙ্গ (উপরে হিসাবে) সংরক্ষণের জন্য ইউটিএফ অক্ষর ক্রম নির্ধারণ করার কোড এখানে ছিল।

StringReplace[#,{" "->"0","*"->"1"}]&/@s
ToExpression/@%
IntegerDigits/@%
FromDigits[#,2]&/@%
FromCharacterCode/@%
StringJoin@%

1

রুবি 269 217 189 185 বাইট

-28 বাইটস @ মান্যাটওয়ার্ককে ধন্যবাদ

-5 বাইটস @ropata ধন্যবাদ

সাধারণ

p=0
loop do
  system 'clear'
  [' '*12+'**  ', ' '*8+'****    ','     *****      ','   **   **      ',' **      **     ','*          *****'].each {|i| puts ((i*5)[16-p..-1]+i)[0..79]}
  p=-~p%16
  sleep 0.1
end

Golfed

p=0
b=' '
loop{system'clear'
[b*12+'**  ',b*8+'****    ',b*5+'*****'+b*6,'   **   **'+b*6,' **      **     ',"*#{b*10}*****"].map{|i|puts ((i*5)[16-p..-1]+i)[0,79]}
p=-~p%16
sleep 0.1}

যদিও আপনার কোডটি দুর্দান্ত কাজ করে দয়া করে মনে রাখবেন যে সাইটের নিয়ম অনুসারে এটি এখনও কোনও বৈধ সমাধান নয়: "চ্যালেঞ্জগুলির সমস্ত সমাধান হওয়া উচিত: (…) ব্যবহারের ক্ষেত্রে বিজয়ী মানদণ্ডের জন্য একটি গুরুতর প্রতিযোগী হবেন। - উদাহরণস্বরূপ, একটি কোড গলফ প্রতিযোগিতার জন্য একটি এন্ট্রি golfed হবে, (...) "দরকার সহায়তা কেন্দ্র দেখুন রুবি মধ্যে golfing জন্য টিপস কিছু টিপস জন্য।
manatwork

যাইহোক, একটি সংক্ষিপ্ত তালিকা: ইন্ডেন্টেশন সরান; do … end{ … }এবং এর {আগে এবং তার আগে নতুন লাইনগুলি সরান }; systemএর পরামিতি এবং এর মধ্যবর্তী স্থানটি সরিয়ে ফেলুন ; অপসারণ ,অ্যারের আক্ষরিক এর শেষ উপাদান পর; .each.mapএবং এর এবং এর কোড ব্লকের মধ্যবর্তী স্থানটি সরিয়ে ফেলুন; সামনে স্থান অপসারণ puts; 0..80; 0,80(এটি আপনার বাগ হিসাবে 81 টি অক্ষরের দীর্ঘ স্ট্রিংয়ের ফলাফল হিসাবে একটি বাগ); p=p+1==16?0: p+1p=-~p%16
manatwork

ইয়েপ, মানটওয়ার্কের বোবা ব্যাখ্যা আবার আঘাত হানে। এমনকি do … end→ পরিবর্তন করা { … }, এখনও loopকীওয়ার্ডের প্রয়োজন আছে । এটি আমার কাছে সংক্ষিপ্ততম: পেস্টবিন.
com

b=' 'শীর্ষে (5 ফাঁকা স্পেস) সেট করে 5 বা 6 বাইট সংরক্ষণ করতে পারে তারপরে আউটপুট এক্সপ্রেশনটি পরিবর্তন করে ' '*12+'** ', ' '*8+'**** ',b+'***** '+b,' ** ** '+b,' ** **'+b,'*'+b+b+'*****'... (তবে এসই এই মন্তব্যে পুনরাবৃত্তি স্পেসগুলি সঠিকভাবে দেখায় না!)
রোব্লগিক

0

এইচটিএমএল + জেএস + জিকুয়েরি, 10 + 233 = 243 বাইট

b="            **  q        ****    q     *****      q   **   **      q **      **     q*          *****".split`q`.map(x=>x.repeat(5).split``)
setInterval(a=>$("#a").text(b.map(f=>f.join``).join`\n`)+b.map(e=>e.unshift(e.pop())),100)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<!-- start -->
<pre id=a>

জাভাস্ক্রিপ্ট কেবল প্রতিটি সারি 1 দ্বারা স্থানান্তরিত করে এবং প্রতি 100 এমএসে পাঠ্য পরিবর্তন করে।

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