চিরকাল লোড হচ্ছে ... উইন্ডোজ স্টাইল


36

নিম্নলিখিত নির্দেশাবলী দ্বারা একটি উইন্ডোজ স্টাইল লোডিং বার করুন।

(লক্ষ্য করুন যে এটি লোড করার চেয়ে পৃথক ... চিরকাল )

আপনার আউটপুট শুরু করা উচিত [.... ]

প্রতিটি টিক, আপনার 100 এমএস অপেক্ষা করা উচিত, তারপরে প্রতিটি বিন্দুটিকে একটি অক্ষর দিয়ে ডানদিকে সরানো উচিত। যদি বিন্দু দশম অক্ষরে থাকে তবে এটিকে প্রথম দিকে সরিয়ে দিন। লক্ষ্য করুন যে আপনাকে আবার আউটপুট দেওয়ার আগে পর্দা সাফ করা উচিত। আউটপুট নিম্নলিখিত হিসাবে আদেশ করা হয়:

[....      ]
[ ....     ]
[  ....    ]
[   ....   ]
[    ....  ]
[     .... ]
[      ....]
[.      ...]
[..      ..]
[...      .]

..তখন চিরকালের জন্য লুপ হয়।

বিধি

  • এটি , তাই সংক্ষিপ্ত উত্তরটি জিতেছে আমি সন্দেহ করি যে আমি এমনকি একটি বিজয়ী উত্তরও গ্রহণ করব
  • সম্ভব হলে দয়া করে লোডিং বারের একটি জিআইএফ ফাইল সরবরাহ করুন।

1
আমরা কী আউটপুট বলতে পারি, প্রতিটি আউটপুটের আগে বিশ নিউলাইনগুলি স্ক্রিনটি 'সাফ' করতে পারি?
Okx

2
@ ওকএক্স হ্যাঁ, যদি আপনার ভাষাতে পর্দা সাফ করার কোনও উপায় না থাকে।
ম্যাথু রোহ


1
আমি কি ভবিষ্যতের চ্যালেঞ্জগুলির জন্য নির্দিষ্ট সময়ের বিলম্বকে অন্তর্ভুক্ত না করার পরামর্শ দিতে পারি? আমি দেখতে পেয়েছি এটি অনেকগুলি সাম্প্রতিক চ্যালেঞ্জগুলির মধ্যে উপস্থিত হয়েছে এবং প্রতিবারই আমি সিস্টেমটি অপেক্ষা করতে না পারার জন্য একই বর্ণহীন বয়লারপ্লেটটি লিখি এন
xnor

2
\rআক্ষরিকভাবে পর্দা সাফ করার পরিবর্তে কি ব্যবহারের অনুমতি দেওয়া হচ্ছে?
ফায়ারফক্স 12'17

উত্তর:


19

ভি, 17 16 15 বাইট

i[´.¶ ]<esc>ògó$X|p

<esc>হয় 0x1b

এবং হেক্সডাম্প:

00000000: 695b b42e b620 5d1b f267 f324 587c 70    i[... ]..g.$X|p

ব্যাখ্যা

i                       " Insert
[                       " a [
´.                      " 4 .s
¶<space>                " 6 spaces
]<esc>                  " and a ]. Then return to normal mode
ò                       " Recursively do:
 gó                     "  Sleep for 100 milliseconds
 $                      "  Go to the ]
 X                      "  Delete the character to the left of the ]
 |                      "  Go to the [
 p                      "  And paste the deleted character right after the [
                        " Implicit ending ò

GIF


কীভাবে ভিম টেস্ট করবেন?
পাভেল

@ ফিনিক্সে i.... <esc>qq:sl 100m<CR>$X|P@qq@qকাজ করা উচিত ( <esc>স্পষ্টতই পালানোর কী এবং <CR>লাইনফিড) (4 টি বিন্দুর পরে 6 টি স্পেস রয়েছে)
ক্রিটিক্সী লিথোস

3
ফাংশনটি কার্যকর হচ্ছে দেখে খুশী । চমৎকার উত্তর
বিটিডাব্লু

19

সিএসএস / এইচটিএমএল, 202 190 186 + 45 = 247 235 231 বাইট

pre{position:relative}x{position:absolute;display:inline-block;width:10ch;height:1em;overflow:hidden}x>x{width:14ch;left:-10ch;animation:1s steps(10,end)infinite l}@keyframes l{to{left:0
<pre>[<x><x>....      ....</x></x>          ]

সম্পাদনা করুন: সংরক্ষিত 12 14 বাইট @ লুককে ধন্যবাদ


অ্যানিমেশনটির মতো নাম পরিবর্তন করে আপনি 6 বাইট সংরক্ষণ করতে পারবেন না b?
লুক

@ লুক আমি বিশ্বাস করতে পারি না যে আমি এটি করতে ভুলে গিয়েছি ...
নীল

আপনি chশেষে 2 টি ফেলে আরও 2 টি বাইট সঞ্চয় করতে পারবেন ; 0ইউনিটের দরকার নেই।
লুক

2
কিভাবে পরিবর্তন সম্পর্কে <x>করার <span>(এবং CSS এ হিসাবে ভাল: xহয়ে spanএবং x>xহয়ে span>*)? এটি সংরক্ষণ করে display:inline-block;, তবে ব্যয় হয় কেবল 15 বাইট। সুতরাং মোট 6 বি সংরক্ষণ করা হয়েছে।
লুক

1
@ লুক আমি প্রদর্শনটির বিষয়ে চিন্তা করি না তবে আমি এর পুনরাবৃত্তি এড়াতে চাই position:absolute;
নিল

12

পাওয়ারশেল, 67 66 বাইট

for($s='.'*4+' '*6;$s=-join($s[,9+0..8])){cls;"[$s]";sleep -m 100}

-1 বিটক্র্যাকারকে সংক্ষিপ্ত নির্মাণকারী ব্যবহার করে ধন্যবাদ

স্ট্রিংয়ের অনুলিপিটির সাথে স্ট্রিংটি প্রতিস্থাপন করে যেখানে শেষ চরটি বাকি অক্ষরের সামনে রাখা হয়, পর্দা সাফ করে, মুদ্রণ করে এবং তারপরে 100 এমএসের জন্য ঘুমায়।

স্ট্রিংয়ের ভিতরে লজিক মোড়ানোর পরিবর্তে লুপ কনস্ট্রাক্টর ব্যবহার করে প্রচুর বাইট সংরক্ষণ করা হয়েছে।

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


1
forলুপ ট্রিকের জন্য +1 এবং আমাকে পুনরায় পড়তে বাধ্য করুন_জয়িন
বিটক্র্যাকার

1
পিএস আপনি আরও একটি বাইট ব্যবহার করে গল্ফ করতে পারেন $s='.'*4+' '*6
বেটক্র্যাকার

@ বিটক্র্যাকার এর জন্য ধন্যবাদ - আপডেট করা হয়েছে
কলসডব্লিউ 14'17

স্ক্রিপ্টটি শুরু হয় না [.... ]। আপনি এটি জরিমানা ছাড়াই ঠিক করতে পারেন:for($s='.'*4+' '*6){cls;"[$s]";$s=-join($s[,9+0..8]);sleep -m 100}
mazzy

10

পাইথন 3 , 99 93 85 83 + 2 ( -উ পতাকা ) বাইটস

-12 বাইটস ovs
-2 বাইটস সম্পূর্ণরূপে মানবতার জন্য ধন্যবাদ

import time
s=4*'.'+6*' '
while 1:print(end='\r[%s]'%s);time.sleep(.1);s=s[9]+s[:9]

এটি অনলাইন চেষ্টা করুন!


তুমি কেন flush=True? এটি আমার জন্য ছাড়া কাজ করে
L3viathan

3
@ L3viathan কারণ আমার (উবুন্টু) টার্মিনালটি ফ্লাশ করছে না। এই ফ্লাশিং আচরণটি OS নির্ভর = /
রড

1
সঙ্গে কিছু বাইট সংরক্ষণprint(end='\r[%s]'%s,flush=1)
ovs

2
-uকমান্ড লাইন পতাকা ব্যবহার করে আপনি সম্পূর্ণরূপে ফ্লাশ সরিয়ে ফেলতে পারেন । সম্পর্কিত এসও প্রশ্ন
ovs

1
আপনি এর সাথে কিছু বাইটও সংরক্ষণ করতে পারেন s[9]+s[:9]
সম্পূর্ণমানবিক

10

উইন্ডোজ ব্যাচ, 201 181 বাইট

পুরানো-স্কুল পদ্ধতি ব্যবহার করে দেখা যাচ্ছে আসলে বাইট সংরক্ষণ করে!

@for %%p in ("....      " " ....     " "  ....    " "   ....   " "    ....  " "     .... " "      ...." ".      ..." "..      .." "...      .")do @echo [%%~p]&timeout 0 >nul&cls
@%0

বিঃদ্রঃ:

get-screenrecorder.level
- low grade

get-gpu.level
- horrible

if get-screenrecorder.level == low grade || get-gpu.level == horrible {
     say("GIF may not be accurate");
}

জিআইএফ!

দয়া করে নোট করুন যে আমার জিআইএফ রেকর্ডার লোডিং বারের জাম্প তৈরি করে কয়েকটি ফ্রেম এড়িয়ে গেছে :(


1
বিন্দুর সংখ্যা গণনা করার পরিবর্তে, আপনি যদি কেবল বিন্দু এবং স্পেসগুলির সাথে একটি পরিবর্তনশীল রাখেন এবং তার উপর স্ট্রিং ম্যানিপুলেশন সম্পাদন করেন তবে আপনি সম্ভবত এটি 100 বাইটে নামিয়ে আনতে পারেন।
নিল

আমি এটিতে কাজ করার চেষ্টা করব, আপনার টিপসের জন্য ধন্যবাদ :)
স্টিভেস্টেল

টাইমআউট / টি 0> নুলটি পিংয়ের পরিবর্তে 1.1 -n 1 -w 100> নুল 100ms +/- 250ms সময়ের প্রয়োজন হবে (সাধারণত 25 - 100ms হওয়া উচিত) সেখানে কয়েক বাইট সংরক্ষণ করতে পারেন ( ss64.com/ এনটি / সময়সীমা। html )
লিয়াম ডালি

1
এছাড়াও অপসারণ @echo offএবং এর পরিবর্তে কাজটিও কার্যকর do @(echo %%~p&timeout/t 0 >nul&cls)হবে এবং 11 টি অক্ষর (আমার কম্পিউটারে 200 বাইট) সংরক্ষণ করা উচিত
লিয়াম ডালি

8

গণিত, 67 77 বাইট

বর্গাকার বন্ধনীগুলি ভুলে যাওয়ার সাথে সাথে +10 বাইটস।

Animate["["<>"....      "~StringRotateRight~n<>"]",{n,1,10,1},RefreshRate->10]

1
সত্যি, গণিতের একটি অন্তর্নির্মিত আছে Animate? : |
মিঃ এক্সকোডার

হ্যাঁ, এটি প্রদত্ত ভেরিয়েবলের চেয়ে প্রায় যা কিছু সঞ্চার করবে। :)
ইয়ান মিলার

এটি অন্যান্য উত্তরগুলির মতো আয়তক্ষেত্রাকার বন্ধনী অন্তর্ভুক্ত বলে মনে হয় না।
মার্ক এস।

ওহ ইঁদুর, যথেষ্ট কাছাকাছি চেহারা না। ঠিক আছে ঠিক আছে।
ইয়ান মিলার

8

সি (জিসিসি) , 126 125 124 123 122 121 119 118 117 114 115 বাইট

বিন্দুগুলি কোথায় তা ট্র্যাক রাখতে এটি বিটমাস্ক ব্যবহার করে।

আমাকে আরও একটি বাইট যুক্ত করতে হয়েছিল কারণ আমি কেবল আগে 5 টি স্পেস আউটপুট করছিলাম।

m=30;f(i){usleep(3<<15);system("clear");for(i=1;i<1920;i*=2)putchar(i^1?i&m?46:32:91);m+=m&512?m+1:m;f(puts("]"));}

এটি অনলাইন চেষ্টা করুন!

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


48
আপনার কমান্ড প্রম্পট ফন্ট কমিক সানস এমএস?!?!?!
এমডি এক্সএফ

7

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

setInterval('with(console)clear(),log(`[${x=x[9]+x.slice(0,9)}]`)',100,x='...      .')


4
জন্য +1 withসর্বদা জন্য +1 with!
শেগি

@ শেগি কোডগল্ফ.স্ট্যাকেক্সেঞ্জাং.কম / সেকশনস / ১১৮৪০২/২ # স্বতঃপ্রণালী: পি
অর্জুন

6

জাভাস্ক্রিপ্ট (ES6) + এইচটিএমএল, 104 85 83 বাইট

f=(s="....      ")=>setTimeout(f,100,s[9]+s.slice(0,9),o.value=`[${s}]`)
<input id=o
  • জোহানকে ধন্যবাদ 2 বাইট সংরক্ষণ করা পরামর্শকে যে আমি এর inputপরিবর্তে একটি ব্যবহার করি pre

এটি চেষ্টা করুন

স্নিপেটে কাজ করতে ট্যাগটিতে বন্ধ >হওয়া দরকার input

(f=(s="....      ")=>setTimeout(f,100,s[9]+s.slice(0,9),o.value=`[${s}]`))()
<input id=o>


1
[]এর মধ্যে 10 টি অক্ষর থাকা উচিত নয় ?
নিল

আপনি ঠিক বলেছেন, @ নীল; এখানে 6 টি স্পেস রয়েছে - আমি যদি চোখ দিয়ে জিনিস গণনা করতে যাই তবে আমার চশমাটি পরতে আমি কমপক্ষে করতে পারি!
শেগি

1
আপনি একটি ব্যবহার করা যাবে না <input>পরিবর্তে <pre>এবং তারপর valueপরিবর্তে innerText?
জোহান কার্লসন

শুভ কল, @ জোহানকার্লসন; যা 2 বাইট সংরক্ষণ করে
শেগি

হে! এটি একই বাইট গণনা:, s='.... ';setInterval(f=>{o.value='[${s=s[9]+s.slice(0,9)}]'},100);<input id=oসম্ভবত কেউ এটির উন্নতি করতে পারে (quot দিয়ে উদ্ধৃতি চিহ্নটি প্রতিস্থাপন)
টমাস ডব্লিউ

5

নুডেল , 16 15 14 13 বাইট

[সিỤ'এ ~ ððÐ] ইত্যাদি

] ʠ [ঘ। × 4¤ × 6⁺ḷẸḍt

] ʠ⁶¤⁴.ȧ [ėÐḷẸḍt

চেষ্টা করে দেখুন :)


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

]ʠ⁶¤⁴.ȧ[ėÐḷẸḍt

]ʠ⁶¤⁴.ȧ[ėÐ     # Set up for the animation.
]              # Pushes the literal string "]" onto the stack.
 ʠ             # Move the top of the stack down by one such that the "]" will remain on top.
  ⁶¤           # Pushes the string "¤" six times onto the stack where "¤" represents a space.
    ⁴.         # Pushes the string "." four times onto the stack.
      ȧ        # Take everything on the stack and create an array.
       [       # Pushes on the string literal "[".
        ė      # Take what is on the top of the stack and place it at the bottom (moves the "[" to the bottom).
         Ð     # Pushes the stack to the screen which in Noodel means by reference.

          ḷẸḍt # The main animation loop.
          ḷ    # Loop endlessly the following code.
           Ẹ   # Take the last character of the array and move it to the front.
            ḍt # Delay for a tenth of a second.
               # Implicit end of loop.

হালনাগাদ

[Ð]ıʠ⁶¤⁴.ḷėḍt

চেষ্টা করে দেখুন :)

কেন জানি আমাকে এই ভাবতে কিছুটা সময় লেগেছে। যাইহোক, এটি 13 বাইটে রাখে

[Ð]ıʠ⁶¤⁴.ḷėḍt

[Ð]ıʠ⁶¤⁴.     # Sets up the animation.
[             # Push on the character "["
 Ð            # Push the stack as an array (which is by reference) to the screen.
  ]           # Push on the character "]"
   ı          # Jump into a new stack placing the "[" on top.
    ʠ         # Move the top of the stack down one.
     ⁶¤       # Push on six spaces.
       ⁴.     # Push on four dots.

         ḷėḍt # The main loop that does the animation.
         ḷ    # Loop the following code endlessly.
          ė   # Take the top of the stack and put it at the bottom.
           ḍt # Delay for a tenth of a second.

<div id="noodel" code="[Ð]ıʠ⁶¤⁴.ḷėḍt" input="" cols="12" rows="2"></div>

<script src="https://tkellehe.github.io/noodel/noodel-latest.js"></script>
<script src="https://tkellehe.github.io/noodel/ppcg.min.js"></script>


2
এর আগে নুডেলের কথা কখনও শুনেনি, তবে মনে হয় এটি সঠিক কাজের সঠিক সরঞ্জাম! +1
কেভিন ক্রুইজসেন


6
ঠিক যখন আমি ভেবেছিলাম আমি আপনাকে ছাড়িয়েছি, আমি খেয়াল করেছি আপনি ইতিমধ্যে দুবার আপনার সমাধানটি
গল্ফ

ক্রিটিক্সিলিথোস, আমি ভীত হয়েছি আপনি আমাকে মারতে চলেছেন তাই আমি 14 বাইট পেতে চিরতরে ব্যয় করেছি । তবে, এখন আপনি আবার কাছে এসেছেন !! Dang !!
টেকলেহে

1
@ nitro2k01 নুডেল 256 টি অক্ষর সহ নিজস্ব কোড-পৃষ্ঠা ব্যবহার করে , যা সমস্ত তাদের নিজস্ব এনকোডিংয়ে একক বাইট হিসাবে সংরক্ষণ করা হয়। কিছু অন্যান্য গল্ফিং ভাষার মতোই, জেলি বা 05 এবি 1 ই এর মতো । আপনি যদি এই অক্ষরগুলি ডিফল্ট ইউটিএফ -8 এনকোডিং হিসাবে সংরক্ষণ করেন তবে এগুলি পরিবর্তে 2 বা 3 বাইট হবে তবে তাদের নিজস্ব এনকোডিংয়ে সেগুলি প্রতিটি বাইট।
কেভিন ক্রুইজসেন

4

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

for($s="...      .";$s=substr($s.$s,9,10);usleep(1e5))echo"\r[$s]";

মন্তব্য নেই


4

সি #, 162 157 বাইট

()=>{for(string o="[....      ]";;){o=o.Insert(1,o[10]+"").Remove(11,1);System.Console.Write(o);System.Threading.Thread.Sleep(100);System.Console.Clear();}};

বা পুরো প্রোগ্রাম হিসাবে 177 বাইট

namespace System{class P{static void Main(){for(string o="[....      ]";;){o=o.Insert(1,o[10]+"").Remove(11,1);Console.Write(o);Threading.Thread.Sleep(100);Console.Clear();}}}}

+1 গল্ফ করার কিছু: এতে গল্ফ করা for(string o="[.... ]";;)যেতে পারে var o="[.... ]";for(;;)। অথবা আপনি আমাদের জাভা a এর একটি বন্দরটি মোট ()=>{var o=".... "for(;;){o=(o+o).Substring(9,10);System.Console.Write("["+o+"]\n");System.Threading.Thread.Sleep(100);System.Console.Clear();}};
কিছুটি

স্ট্রিং ইন্টারপোলেশনটি আরও ছাঁটাবে? এর মতো কিছু$"[{o}]\n"
মেরি

1
তোমাদের স্থলাভিষিক্ত তাহলে System.Console.Write(o)সঙ্গে System.Console.Write(o+"\r")আপনি অপসারণ করতে পারেনSystem.Console.Clear();
grabthefish


4

এমএটিএল , 24 বাইট

`1&Xx'['897B@YS46*93hhDT

এমএটিএল অনলাইন এ চেষ্টা করুন ! অথবা অফলাইন সংকলক থেকে একটি জিআইএফ দেখুন:

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

ব্যাখ্যা

`        % Do...while
  1&Xx   %   Pause for 0.1 s and clear screen
  '['    %   Push this character
  897B   %   Push [1 1 1 0 0 0 0 0 0 1]
  @      %   Push current iteration index, 1-based
  YS     %   Circularly shift the array by that amount
  46*    %   Multiply by 46 (code point of '.')
  93     %   Push 93 (code point of ']')
  hh     %   Concatenate horizontally twice. Numbers are interpreted as chars
         %   with the corresponding code points
  D      %   Display
  T      %   Push true. Used as loop condition. Results in an infinite loop
         % End (implicit)

আপনার লিঙ্কটি ক্র্যাশ হয়েছে, এর অর্থ এটি আমি হত্যা করতে পারি না।
লিকি নুন

1
@ লিক্যুন আপনি কি বলতে চান যে এটি ক্র্যাশ হয়েছে? এটি আমার পক্ষে কাজ করে এবং আমি এটি হত্যা করতে পারি। কখনও কখনও সময়সীমা সম্পন্ন সমস্যা আছে। যদি এটি শুরু না হয় তবে পৃষ্ঠাটি রিফ্রেশ করার চেষ্টা করুন
লুইস মেন্ডো

4

জেলি , 28 27 বাইট

ṙ©-j@⁾[]ṭ”ÆȮœS.1®ß
897ṃ⁾. Ç

উদাহরণ রান

কিভাবে?

ṙ©-j@⁾[]ṭ”ÆȮœS.1®ß - Link 1, the infinite loop: list of characters s
ṙ                  - rotate s left by:
  -                -   -1 (e.g. "...      ." -> "....      ")
 ©                 -   copy to the register and yield
     ⁾[]           - literal ['[',']']
   j@              - join with reversed @rguments
         Ӯ        - literal '\r'
        ṭ          - tack (append the display text to the '\r')
           Ȯ       - print with no newline ending
              .1   - literal 0.1
            œS     - sleep for 0.1 seconds then yield the printed text (unused)
                ®  - recall the value from the register
                 ß - call this link (1) again with the same arity

897ṃ⁾. Ç - Main link: no arguments
897      - literal 897
    ⁾.   - literal ['.',' ']
   ṃ     - base decompression: convert 897 to base ['.',' '] = "...      ."

4

সি (জিসিসি), 202 198 196 189 96 99 88 86 79 77 75 74 73 বাইট

সংরক্ষিত 7 থেকে 8 ধন্যবাদ বাইট ডিজিটাল ট্রমা

f(i){usleep(dprintf(2,"\r[%-10.10s]","....      ...."+i%10)<<13);f(i+9);}

অথবা, যদি আপনার সিস্টেমে stdoutকোনও নিউলাইন ছাড়াই প্রতিটি লেখার পরে ফ্লাশ করার প্রয়োজন না হয়:

সি (জিসিসি), 70 বাইট

f(i){usleep(printf("\r[%-10.10s]","....      ...."+i%10)<<13);f(i+9);}

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

  • usleep( মাইক্রোসেকেন্ডগুলিতে পরবর্তী রিটার্ন মানের জন্য ঘুমায়।
  • dprintf(2,ডেস্ক্রিপ্ট 2 ফাইল প্রিন্ট, বা stderr। এটি প্রয়োজনীয় কারণ stdoutলাইন-বাফার করার সময় (অর্থাত্ আউটপুটটি এটি কোনও নতুন লাইন প্রিন্ট না করা পর্যন্ত দেখাবে না), stderrঅক্ষর-বাফারযুক্ত (সমস্ত আউটপুট অবিলম্বে প্রদর্শিত হবে)।
  • "\r একটি ক্যারিজ রিটার্ন মুদ্রণ করে (বর্তমান লাইনটি সাফ করে)।
  • [%-10.10s]"হয় printfসঠিক দৈর্ঘ্য 10 (কোন ব্যাপার কি স্ট্রিং আউটপুট প্রদান সবসময় দৈর্ঘ্য 10 সঙ্গে একটি স্ট্রিং হতে হবে) সঙ্গে একটি স্ট্রিং এর জন্য বিন্যাস নির্দিষ্টকারী প্রয়োজনে ডানে ব্যবধান সহ padded। এটি বন্ধনী দ্বারা আবদ্ধ করা হবে।
  • ".... ...." লোডিং বার হয়।
  • +i%10বর্তমান সূচক মডুলো 10 দ্বারা লোডিং বারটি অফসেট করে example উদাহরণস্বরূপ, যদি i == 3, i % 103 এর সমান হয় তবে 3 দ্বারা লোডিং বারটি অফসেট করা সমান করে তোলে ". ...."
  • অফসেট-এডি স্ট্রিংটি printfফর্ম্যাট স্পেসিফায়ারে পৌঁছে দেওয়া হয় , এটি প্রয়োজনে 10 এর দৈর্ঘ্যের মধ্যে সীমাবদ্ধ করে এবং প্রয়োজনে শেষে স্পেস যুক্ত করে। অতএব, লোডিং বারটি সর্বদা [.... ]এবং এর মধ্যে থাকবে [. ...]

i;f(){for(;;i=++i%10)usleep(7500*dprintf(2,"\r[%-10.10s]",".... ...."-i+10));} কাজ করা উচিত.
ক্রিস্টোফ

1
দুর্দান্ত গল্ফিং! এর সাথে আরও 1 টি বাইট সংরক্ষণ করুনf(i){usleep(dprintf(2,"\r[%-10.10s]",".... ...."+i%10)<<13);f(i+9);}
ডিজিটাল ট্রমা

@ ডিজিটালট্রামা আপনার কোডের স্পেসগুলি যথাযথভাবে রেন্ডার হয়নি। তবে, আমি আপনাকে বোঝাতে চাইছি এবং সাহায্যের জন্য ধন্যবাদ!
এমডি এক্সএফ

3

জাভা 7, 139 124 বাইট

String s="....      ";void c()throws Exception{System.out.print("["+s+"]\r");s=(s+s).substring(9,19);Thread.sleep(100);c();}
  • এর কথা উল্লেখ করে \rধন্যবাদ @Phoenix

ক্যারেজ রিটার্ন \rলাইনের শুরুতে 'কার্সার' পুনরায় সেট করে, যা পরে ওভাররাইট করা যায় ten দুর্ভাগ্যক্রমে, অনলাইন সংকলক বা একটিলিপস আইডিই এটি সমর্থন করে না, তাই আমি উইন্ডোজ কমান্ড প্রম্পট থেকে এটি প্রদর্শনের জন্য এই উত্তরের শেষে একটি জিআইএফ যুক্ত করেছি।

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

ব্যাখ্যা:

String s="....      ";            // Starting String "....      " on class level
void c()                          // Method without parameter nor return-type
 throws Exception{                // throws-clause/try-catch is mandatory for Thread.sleep
  System.out.print("["+s+"]\r");  //  Print the String between square-brackets,
                                  //  and reset the 'cursor' to the start of the line
  s=(s+s).substring(9,19);        //  Set `s` to the next String in line
  Thread.sleep(100);              //  Wait 100 ms
  c();                            //  Recursive call to same method
}                                 // End of method

আউটপুট জিআইএফ:

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


আপনি প্রতিস্থাপন করে সীমারেখা পরিষ্কার করতে পারেন printlnসঙ্গে printএবং একটি গাড়ি ফেরত outputting। আপনার আইডিই'র টার্মিনালে কাজ নাও করতে পারে তবে এটি অন্য কোনও বুদ্ধিমানের সাথে কাজ করবে।
পাভেল

@ ফিনিক্স গাড়ীতে ফেরার অর্থ কি \r\n? System.out.print(someString+"\r\n);কনসোলটি কীভাবে সাফ করবে .. এটি ব্যবহারের মতোই System.out.println(someString);.. এটি কেবল পরের লাইনে চলে যায় তবে মুদ্রিত কোনও পূর্ববর্তী লাইন সরিয়ে দেয় না: এস
কেভিন ক্রুইজসেন

4
না, মানে \r, ছাড়া \n। এটি "কার্সার "টিকে লাইনের শুরুতে পুনরায় সেট করে তাই যে কোনও কিছু মুদ্রণ করলে সেই লাইনটি ওভাররাইট হয়ে যায়।
পাভেল

অবশ্যই ফিনিক্স আহ। ধন্যবাদ। আমার উত্তরটি পরিবর্তন করে ফলাফলটি দেখানোর জন্য একটি জিআইএফ যুক্ত করেছে। খুব খারাপ অনলাইন সংকলক বা Eclipse IDE এটি সমর্থন করছে না>>।>
কেভিন ক্রুইজসেন

3

পাইথন 2 , 81 78 বাইট

-১ বাইট ( %sরড একই সময়ে পাইথন প্রায় একই ধরণের 3 সংস্করণ জমা দেওয়ার সময় আমি ব্যবহারটি মিস করেছি !)
-2 বাইট ( সম্পূর্ণরূপে মানুষের ধারণা ব্যবহার করে - এরs[-1]+s[:-1] সাথে প্রতিস্থাপন করুন s[9]+s[:9])

import time
s='.'*4+' '*6
while s:print'\r[%s]'%s,;s=s[9]+s[:9];time.sleep(.1)

উদাহরণ রান


কিভাবে এটি আউটপুট ফ্লাশ করছে? এই কারণেই আমি আমার উত্তরে পাইথন 3 ব্যবহার করছি (পাইথন 2 এ ফ্ল্যাশ করতে আরও বাইট লাগবে)
রড

@ রডটি \rওভাররাইটগুলি লাইনটি তৈরি করে এবং ,স্ট্রিংয়ের পরিবর্তে একটি টিপল মুদ্রণ করে তোলে - আমি এটিকে কিছুক্ষণ আগে দেখেছি এবং এটির আগেও ব্যবহার করেছি।
জোনাথন অ্যালান

1
হ্যাঁ, এটি আমি করছিলাম, তবে আউটপুটটি রিয়েল টাইমে মুদ্রিত হয়নি (ব্যবহার করতে হয়েছিল sys.stdout.flush())
রড

1
অপরাধীটি পেয়েছি: আমার উবুন্টু টার্মিনাল: সি
রড

3

যান , 150 145 132 129 124 বাইট

-5 বাইট ধন্যবাদ sudee।

আমার মনে হচ্ছে আমি এখানে যথেষ্ট দেখতে পাচ্ছি না ... তবে আমার উত্তরটি সি টপিং করছে ... প্লস হল্ফ গল্ফ?

package main
import(."fmt"
."time")
func main(){s:="....      ";for{Print("\r["+s+"]");Sleep(Duration(1e8));s=(s+s)[9:19];}}

এটি অনলাইন চেষ্টা করুন!


1
যান না পরিচিত, কিন্তু আমি আপনাকে রূপান্তর করতে পারেন অনুমান করা হবে 100000000থেকে 10^85 বাইট সংরক্ষণ করুন।
গ্রান্ট মিলার

@ বোটমিল আমি চেষ্টা করেছিলাম কিন্তু এটি আপাতদৃষ্টিতে কিছুটা প্রত্যাখ্যান। আমি চেষ্টা করেছিলাম 10**8যা একটি ত্রুটিও দেয়।
সম্পূর্ণরূপে

3
আপনি বৈজ্ঞানিক স্বরলিপি ব্যবহার করতে পারেন: 1e8
sudee

1
@ সুদী আহা, এটাই হবে বিশাল সংখ্যক ব্যবহারের উপায়। ধন্যবাদ!
সম্পূর্ণমানবিক

2
@ এমডিএক্সএফ আমার পক্ষে অন্যরকম বক্তব্য দেওয়া উচিত ছিল, আমি বোঝাতে চাইছিলাম আমার উত্তরটি সি দ্বারা প্রকাশিত হচ্ছে olf
সম্পূর্ণরূপে

3

ভিবিএ 32-বিট, 159 157 143 141 134 বাইট

ভিবিএতে কোনও অন্তর্নির্মিত ফাংশন নেই যা সময়কাল এক সেকেন্ডের চেয়েও কম সময়ের জন্য অপেক্ষা করার অনুমতি দেয় তাই আমাদের অবশ্যই কোনও ফাংশন ঘোষণা করতে হবে kernel32.dll

32 বিট বিবৃতি বিবৃতি (41 বাইট)

Declare Sub Sleep Lib"kernel32"(ByVal M&)

64 বিট বিবৃতি বিবৃতি (49 বাইট)

Declare PtrSafe Sub Sleep Lib"kernel32"(ByVal M&)

অতিরিক্তভাবে, DoEventsএক্সেলটিকে অ-প্রতিক্রিয়াশীল হিসাবে উপস্থিত করা থেকে অসীম লুপ এড়াতে আমাদের অবশ্যই একটি পতাকা অন্তর্ভুক্ত করতে হবে । চূড়ান্ত ফাংশনটি তখন একটি সাবরুটাইন যা কোনও ইনপুট নেয় না এবং ভিবিই তাত্ক্ষণিক উইন্ডোতে আউটপুট দেয়।

তাত্ক্ষণিক উইন্ডো ফাংশন, 93 বাইট

অজ্ঞাতনামা VBE তাত্ক্ষণিক উইন্ডো ফাংশন যা কোনও ইনপুট নেয় না এবং A1অ্যাক্টিভশিটের সীমার বাইরে আউটপুট দেয়

s="...      ....      .":Do:DoEvents:Sleep 100:[A1]="["&Mid(s,10-i,10)&"]":i=(i+1)Mod 10:Loop

পুরাতন সংস্করণ, 109 বাইট

তাত্ক্ষণিক উইন্ডো ফাংশন যা কোনও ইনপুট নেয় না এবং ভিবিই তাত্ক্ষণিক উইন্ডোতে আউটপুট দেয়।

s="...      ....      .":i=0:Do:DoEvents:Sleep 100:Debug.?"["&Mid(s,10-i,10)&"]":i=(i+1) Mod 10:Loop

অবহেলিত এবং ফর্ম্যাট করা

Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal M&)
Sub a()
    Dim i As Integer, s As String
    s = "...      ....      ."
    i = 0
    Do
        Debug.Print [REPT(CHAR(10),99]; "["; Mid(s, 10 - i, 10); "]"
        DoEvents
        Sleep 100
        i = (i + 1) Mod 10
    Loop
End Sub

-2 সাদা স্থান সরানোর জন্য বাইটস

সঠিকভাবে গণনা জন্য -30 বাইট

তাত্ক্ষণিক উইন্ডো ফাংশনে রূপান্তর করার জন্য -14 বাইটস

আউটপুট

নীচের জিআইএফ সম্পূর্ণ সাব্রোটিন সংস্করণ ব্যবহার করে কারণ আমি তাত্ক্ষণিক উইন্ডো ফাংশনটির সাথে এটি পুনরায় রেকর্ড করতে খুব অলস ছিল।

ভিবিএ লোডিং জিফ


aআউটপুট শীর্ষে যে কি ?
এমডি এক্সএফ

@ এমডিএক্সএফ হ'ল aউপরে তালিকাভুক্ত হিসাবে সাবরুটিন চালানোর জন্য কল ; এটি কার্যকরীভাবে আরও ভার্বোজের সমতুল্য call a()
টেলর স্কট

আহ, আমার খারাপ। শুধু খারাপ জমা দেওয়ার সন্ধান করছি। আপনার তাই না, তাই +1
এমডি এক্সএফ


2

ব্যাচ, 99 98 বাইট

স্টিভ ফেস্টকে ধন্যবাদ 1 বাইট সংরক্ষণ!

(আমি \rকোড থেকে সরিয়ে দিতে পারি , কিন্তু ব্যাচ গল্ফিংয়ের আত্মায়, আমি তা করব না))

@SET s=....      
:g
@CLS
@ECHO [%s%]
@SET s=%s:~-1%%s:~,-1%
@ping 0 -n 1 -w 100>nul
@GOTO g

লিসেক্যাপ দিয়ে রেকর্ড করা হয়েছে

প্রথম লাইনের পরে চারটি স্থান রয়েছে।

মূল যুক্তি স্ট্রিংটি পরিবর্তন করছে। %s:~-1%এর সর্বশেষ চরিত্র %s%এবং %s:~0,-1%এর সবশেষ চরিত্রটিই %s%। সুতরাং, আমরা শেষ অক্ষরটিকে স্ট্রিংয়ের সামনের দিকে নিয়ে যাচ্ছি, যা স্ট্রিংকে ঘোরায়।


ও ... আমি এটি সন্ধান করছি ...
স্টিভেফেসেল

1
গল্ফ 1 বাইট: 0ভেরিয়েবল সাবস্ট্রিংয়ের মধ্যে অপসারণ করা যেতে পারে
স্টিভেফেল

আপনি ব্যবহার করুন cmder। সুন্দর কাজ.
এমডি এক্সএফ

1
@ স্টিভেস্ট হুহ, টিআইএল ধন্যবাদ!
কনর ও'ব্রায়েন

1
@ এমডিএক্সএফ এটিই কেবল কারণ আমি এখনও বুদ্ধিমান: পি
কনর ও'ব্রায়েন

2

রুবি, 57 56 বাইট

s=?.*4+' '*6;loop{$><<"[%s]\r"%s=s[-1]+s.chop;sleep 0.1}

এখানে অন্যান্য উত্তর দ্বারা ভারী প্রভাবিত।

@ মান্যাট ওয়ার্কের জন্য একটি বাইট সংরক্ষণ করা হয়েছে। এছাড়াও স্পষ্টতই আমার অক্ষর গণনা করতে সমস্যা হয় - আমি এসটি 3 ব্যবহার করি এবং স্পষ্টতই যদি আপনি মনোযোগী না হন তবে এটি লাইনের অক্ষরের গণনায় নতুন লাইনের অন্তর্ভুক্ত করবে।


এটা কিভাবে কাজ করে? এটি কি ধরে নেয় যে ইনপুটটি সঞ্চিত আছে s?
R

@Riker তিনি সংজ্ঞায়িত s4 যেমন প্রোগ্রামের শুরুতে .গুলি এবং কয়েক স্পেস
কোনোর ব্রায়েন

s[0..8]s.chop
manatwork

2

পার্ল, 69 বাইট

-৩ বাইট @ ডম হেস্টিংসকে ধন্যবাদ ।

$_="....".$"x6;{print"\ec[$_]
";select$a,$a,!s/(.*)(.)/$2$1/,.1;redo}

যে select undef,undef,undef,.1ঘুম যাওয়ার সংক্ষিপ্ত রাস্তা পার্ল মধ্যে 1 সেকেন্ড কম, এবং এটা বাইটের অনেক সময় লাগে ...


কিছুটা লম্বা (by৯ বাইট) রয়েছে:

@F=((".")x4,($")x6);{print"\ec[",@F,"]\n";@F=@F[9,0..8];select$a,$a,$a,.1;redo}

সন্ধ্যা, এটিকে আরও কিছুটা 69 (বা আক্ষরিক ESC সহ 68) নামিয়ে আনতে পরিচালিত: gist.github.com/dom111/e3ff41c8bc835b81cbf55a9827d69992 আমি ব্যবহার করার চেষ্টা করেছি বলে মনে হচ্ছে !printতবে আপনার প্যারেনস দরকার তাই এটি একই দৈর্ঘ্যের শেষ হয়: /
ডোম হেস্টিংস

@ ডোমহাস্টিংস চমৎকার, ধন্যবাদ! আপনি এখনও কীভাবে গল্ফ করবেন তা জানেন: ডি
দাদা

2

ব্যাশ, 93 90 96 বাইট

s="...      ....      ."
for((;;)){ for i in {0..9};do printf "\r[${s:10-i:10}]";sleep .1;done;}

এখানে দেখুন

সিনট্যাক্সের জন্য ested ested নেস্ট করা যায় নি


আমি বেশ অনুরূপ সমাধান পোস্ট করার ইচ্ছা নিয়েছিলাম, তবে এখন তা অর্থহীন। তবে আপনার উন্নতি করতে কিছুটা অনুপ্রেরণা দিতে পারে: পেস্টবিন.com / এলডি 6আরএনএনএক্স
manatwork

অনেক ভাল! আমি আপনার কাছ থেকে চুরি করছি না, আমি জানতাম আমাকে এই কাজটি করতে হবে ...
মার্কোসমে

সম্পাদিত, প্রিন্টফ প্যাডিং সংক্ষিপ্তকরণগুলিতে সহায়তা করতে পারে না। @ ডিজিটালট্রামা হিসাবে স্ট্রিং মোড়ানো আরও ভাল দেখাচ্ছে।
মার্কোসমে

1

গ্রোভি, 72 বাইট

s="*"*4+" "*6
for(;;){print("["+s+"]"+"\n"*20);s=s[9]+s[0..8];sleep 100}

Explaination

s="*"*4+" "*6 //creates the string "****      "
for(;;){ //classic infinite loop
    print("["+s+"]"+"\n"*20) //prints the string with [ at the beginning and ] at the end. After that some newlines
    s=s[9]+s[0..8] //appends the final char of the string to beginning, creating a cycling illusion
    sleep 100 //100 ms delay
}

গ্রোভি / জাভাতে কনসোল সাফ করার কোনও সঠিক উপায় জানেন না। কারও যদি এটি করার কোনও উপায় থাকে তবে দয়া করে আমাকে বলুন
অচলিত

1
আপনি \rলাইনটির শুরুতে কার্সারটি ফেরত দিতে ব্যবহার করতে পারেন। অন্তত বেশ কয়েকটি উত্তর এটি করছে বলে মনে হচ্ছে। সেখান থেকে, আপনি 3 বাইট সংরক্ষণ করে * 20 টি মুছতে পারেন।
ফায়ারফক্স

1

হাস্কেল (উইন্ডোজ), 159 বাইট

import System.Process
import Control.Concurrent
main=mapM id[do system"cls";putStrLn('[':["....      "!!mod(i-n)10|i<-[0..9]]++"]");threadDelay(10^5)|n<-[0..]]

ব্যাখ্যা

mapM id             sequentially perform each IO action in the following list
[                   start a list comprehension where each element is...
  do                  an IO operation where
    system "cls";       we clear the screen by calling the windows builtin "cls"
    putStrLn(           then display the string...
      '[':                with '[' appended to
      [                   a list comprehension where each character is...
        "....      "!!       the character in literal string "....      " at the index
        mod(i-n)10          (i - n) % 10
      |i<-[0..9]]         where i goes from 0 to 9
      ++"]"             and that ends with ']'
    );
    threadDelay(10^5)   then sleep for 100,000 microseconds (100 ms)
|n<-[0..]]          where n starts at 0 and increments without bound

হাস্কেলের বিশুদ্ধতা সাইক্লিং ডট প্যাটার্নকে কিছুটা জটিল করে তুলেছিল। আমি নেস্টেড তালিকার উপলব্ধি তৈরি করে শেষ করেছিলাম যাতে তারা আউটপুট হিসাবে ক্রমযুক্ত স্ট্রিংগুলির একটি অসীম তালিকা তৈরি করে, তারপরে যথাযথ আইও অপারেশনগুলি যুক্ত করে ফিরে যায়।


1

রুবি, 61 বাইট

যদি অনুমানটি ডটগুলির পরিবর্তে বাম স্ক্রোল করার জন্য থাকে তবে এটি 1 বাইট সংরক্ষণ করতে পারে কারণ rotate!কোনও যুক্তি ছাড়াই অ্যারেটি একবার বামে স্থানান্তরিত করে।

s=[?.]*4+[' ']*6
loop{print ?[,*s,"]\r";s.rotate!9;sleep 0.1}

1

জিএনইউ সেড (এক্সিকিউট এক্সটেনশন সহ), 64 64

স্কোর -rপতাকা জন্য +1 অন্তর্ভুক্ত ।

s/^/[....      ]/
:
esleep .1
s/[^. ]*(.+)(.)].*/\c[c[\2\1]/p
b

1

সি, 100

char *s="....      ....     ";main(i){for(i=0;;i=(i+9)%10)dprintf(2,"[%.10s]\r",s+i),usleep(3<<15);}

কেন stderrব্যবহার করতে মুদ্রণ dprintfএবং না শুধুমাত্র ব্যবহার printf?
এমডি এক্সএফ 12'17

@ এমডিএক্সএফ কারণ ডিফল্টরূপে stderrঅক্ষর বাফার হয়, যেখানে stdoutলাইন বাফার থাকে। যেহেতু আমি কোনও মুদ্রণ করতে চাই না \n, তারপরে printf()আমাকে স্পষ্টরূপে fflush(stdout)পাশাপাশি করতে হবে#include <stdio.h>
ডিজিটাল ট্রমা

ভাল পয়েন্ট, কিন্তু আসলে, আপনি #include <stdio.h>STDOUT ফ্লাশ করতে হবে না । fflush(0)সমস্ত বাফার ফ্লাশ করে।
এমডি এক্সএফ

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