লোড হচ্ছে… চিরকাল


106

আপনার চ্যালেঞ্জটি হ'ল অসীম লোডিং স্ক্রিন তৈরি করা, যা দেখতে এটির মতো দেখাচ্ছে:

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


বা, আরও সুনির্দিষ্ট হতে হবে:

  • কোনও ইনপুট নিবেন না।
  • আউটপুট Loading..., একটি পিছনের স্থান সহ, তবে কোনও নতুন লাইনে নেই।
  • অক্ষর মাধ্যমে অসীম চক্র |, /, -এবং \কিছু: প্রতিবার 0.25 সেকেন্ড, ক্রমানুসারে পরবর্তী সঙ্গে গত এক ওভাররাইট করবে। আপনি কেবলমাত্র সর্বশেষ অক্ষরটি ওভাররাইট করতে পারেন, বা যতক্ষণ না Loading...অপরিবর্তিত রয়েছেন ততক্ষণ পুরো লাইনটি মুছে ফেলতে এবং পুনরায় লিখতে পারেন ।

বিধি

  • আউটপুট পাঠ্য নির্দিষ্ট হিসাবে অবশ্যই দেখতে হবে। ট্রেলিং নতুনলাইন / স্পেস গ্রহণযোগ্য।
  • প্রাথমিকভাবে আউটপুট দেখানোর আগে আপনাকে 0.25 সেকেন্ড অপেক্ষা করা উচিত নয় - প্রোগ্রামটি চালুর সাথে সাথে প্রথম ফ্রেমটি মুদ্রণ করা উচিত।
  • আপনার প্রোগ্রামটি অনির্দিষ্টকালের জন্য চালাতে সক্ষম হওয়া উচিত। উদাহরণস্বরূপ, যদি আপনি ফ্রেমগুলির জন্য একটি কাউন্টার ব্যবহার করেন তবে কাউন্টারটি কখনই আপনার ভাষায় সর্বাধিককে অতিক্রম করে ত্রুটি ঘটায় না।
  • যদিও প্রতিটি "ফ্রেম" এর মধ্যে অপেক্ষার সময়টি 0.25 সেকেন্ড হওয়া উচিত, অবশ্যই এটি কখনই সঠিক হতে পারে না - 10% বা ততোধিক ত্রুটির মার্জিন অনুমোদিত।
  • আপনি কোনও ফাংশন জমা দিতে পারেন তবে এটিতে মুদ্রণ করতে হবে stdout
  • যতক্ষণ না এটি লোডিং অ্যানিমেশন তৈরি করতে সক্ষম হয় আপনি নন-কনসোল (তবে এখনও পাঠ্য ভিত্তিক) পরিবেশে একটি উত্তর জমা দিতে পারেন।
  • এটি , তাই সংক্ষিপ্ততম সমাধান (বাইটে) জিতেছে। স্ট্যান্ডার্ড কোড-গল্ফ লুফোলস প্রয়োগ হয়।
  • যদি সম্ভব হয় তবে আপনার লোডিং স্ক্রিনটি কার্যত একটি জিআইএফ সরবরাহ করুন।

উদাহরণ

উদাহরণটি তৈরি করতে আমি যে সি ++ কোডটি ব্যবহার করেছি তা এখানে রয়েছে (অব্যক্ত):

#include <iostream>
#include <string>
#include <thread>

using namespace std;

int main() {
    string cycle = "|/-\\";
    int i = 0;

    cout << "Loading... ";

    while (true) {
        // Print current character
        cout << cycle[i];

        // Sleep for 0.25 seconds
        this_thread::sleep_for(chrono::milliseconds(250));

        // Delete last character, then increase counter.
        cout << "\b";
        i = ++i % 4;
    }
}

সেরা গল্ফার জয় হোক!


3
আউটপুট প্রদর্শন করার আগে সাবমিশনগুলি 0.25 সেকেন্ড অপেক্ষা করতে পারে?
ETH প্রোডাকশনগুলি

2
না, তবে এটি উল্লেখ করার জন্য ধন্যবাদ, আমি এটি নিয়ম @
ETH

একটি পেছনের নিউলাইন কি (অ্যানিমেটিং প্রতীকের পরে) গ্রহণযোগ্য?
তামা

অবশ্যই :) @ কপার
ফ্লিপট্যাক

1
@ দ্য বিটবাইট এর অর্থ হ'ল তাত্ত্বিকভাবে আপনার প্রোগ্রামের ভিতরে কোনও কিছুই এটিকে ত্রুটির কারণ হিসাবে দেখাবে না - যেমন একটি কাউন্টার উপচে পড়া বা সর্বাধিক পুনরাবৃত্তির গভীরতায় পৌঁছানো।
ফ্লিপট্যাক

উত্তর:


76

এইচটিএমএল / সিএসএস, 183 180 163 161 160 147 143 বাইট

a{display:inline-flex;overflow:hidden;width:1ch}c{animation:c 1s steps(4)infinite}@keyframes c{to{margin:0-4ch
<pre>Loading... <a><c>|/-\</pre>

সম্পাদনা: @ বিটসগে ধন্যবাদ 3 বাইট সংরক্ষিত @ মান্যাটওয়ার্ককে ধন্যবাদ 17 বাইট সংরক্ষণ করা হয়েছে। @ ড্যানিয়েলকে ধন্যবাদ 1 বাইট সংরক্ষিত @ ইসমাইল মিগুয়েলকে 13 বাইট সংরক্ষণ করা হয়েছে। ফেজ ভ্রাস্টাকে ধন্যবাদ 4 টি বাইট সংরক্ষণ করা হয়েছে।


4
মেটা অনুসারে, প্রশ্নের উত্তর দেওয়ার জন্য সিএসএস + এইচটিএমএল ঠিক আছে। তদ্ব্যতীত আমি চ্যালেঞ্জ বিবরণে এটি অনুমতি দিয়েছি। সুতরাং এই উত্তরটি পুরোপুরি বৈধ :)
ফ্লিপট্যাক

5
এইচটিএমএল + সিএসএস হ'ল টিসি, সুতরাং কেন এটি প্রতিদ্বন্দ্বী হতে পারে তা আমি দেখছি না
TuxCraftting

1
@ টেক্সক্রাফুটগ সিএসএস অবশ্যই নিশ্চিতরূপে সম্পূর্ণরূপে নিচ্ছে না যেহেতু আপনি এতে থামার সমস্যাটি সমাধান করতে পারেন (যদি কোনও সীমাহীন অ্যানিমেশন না থাকে তবে এটি বন্ধ হয়ে যায়)। আমি মনে করি এটি HTML এর ক্ষেত্রেও প্রযোজ্য (আপনি যদি জেএস অন্তর্ভুক্ত না করেন)।
আর্টিয়ার

4
@Artyer stackoverflow.com/a/5239256/3273184 বিবেচনা করে মূল্য কিছু।
মামা ফান রোল

4
@ মামাফুনরল এই পোস্টের একটি মন্তব্যে উল্লেখ করা হয়েছে যে এটি সত্যই এটি টিসি প্রমাণ করে না কারণ এটি ব্যবহারকারীর হস্তক্ষেপ ছাড়াই লুপ করতে পারে না। যাইহোক, এটি এই নির্দিষ্ট চ্যালেঞ্জটি সমাধান করতে পারে, সুতরাং আমি এই উত্তর নিয়ে কোনও সমস্যা দেখছি না।
ETH প্রোডাকশনস

57

ভিম, 43 , 41 বাইট

qqSLoading... |<esc>:sl250m
r/@:r-@:r\@:@qq@q

দুটি বাইট সংরক্ষিত হয়েছে @ ইউডিয়োকে ধন্যবাদ!

এখানে এটির (সামান্য পুরানো) অ্যানিমেশনটি আসল সময়ে ঘটছে!

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

এবং এখানে একটি ব্যাখ্যা:

qq                              " Start recording into register 'q'
  SLoading... |<esc>            " Replace all of the text in the buffer with 'Loading... |'
                    :sl250m     " Sleep for 250 ms
r/                              " Replace the bar with a slash
  @:                            " Re-run the last ex command (sleeping)
    r-                          " Replace the slash with a dash
      @:                        " Re-run the last ex command (sleeping)
        r\                      " Replace the dash with a backslash
          @:                    " Re-run the last ex command (sleeping)
            @q                  " Run macro 'q' (the one we're recording)
              q                 " Stop recording
               @q               " Call macro 'q', which will run forever because it's recursive

1
শুধু কৌতূহল: এটি "আপনার প্রোগ্রামটি অনির্দিষ্টকালের জন্য চালাতে সক্ষম হওয়া উচিত" লঙ্ঘন করে? এটি অবশেষে একটি স্ট্যাক ওভারফ্লোতে পৌঁছতে পারে? :)
ড্যান ওক

4
@ ডাহনাক ঠিক আছে, স্পষ্টতই আমি এটি পরীক্ষা করতে পারি না, তবে এটি কোনও অতিরিক্ত মেমরি বরাদ্দ করে না, তাই এটি অনির্দিষ্টকালের জন্য কার্যকর না হওয়ার কোনও কারণ আমি দেখতে পাচ্ছি না।
ডিজেএমসিএমহেম

1
আপনি যদি স্যুইচ iকরেন Sএবং এটিকে ম্যাক্রোর ভিতরে নিয়ে যান তবে আপনি এড়িয়ে যেতে পারেন r|
udioica

2
@ ডাহনাক এই কারণেই কোনও কারণ নেই যে vi ইঞ্জিনটি পুচ্ছ পুনরাবৃত্তিটি লক্ষ্য করতে পারে নি। এবং পুনরাবৃত্তির কিছু প্রয়োগগুলি প্রাকৃতিকভাবে এটি করতে পারে (ধারণা করুন যদি কার্যকর করার জন্য কমান্ডের ভেক্টর এবং একটি বর্তমান প্রয়োগের অবস্থান থাকে Then @qতাহলে রেজিস্টার স্ক্রিপ্টের বিষয়বস্তু-এ-বর্তমান অবস্থানে প্রবেশ করানো হবে qNo কোনও স্ট্যাকের প্রয়োজন নেই, এবং না মেমরি বরাদ্দ যদি না সেখানে চালানোর জন্য কম্যান্ড হয় পরে @q মধ্যে q)।
Yakk

প্রায় প্রতিবারই আপনি যখন কোনও চ্যালেঞ্জের উত্তর পোস্ট করেন, আমি নতুন কিছু শিখি (এই ক্ষেত্রে, @:এবং :sl), তাই ধন্যবাদ জানাই এবং তাদের আগত রাখি :)
খ্রিস্টান রোনডাউ

37

এইচটিএমএল + জেএস (ইএস 6), 20 + 51 50 = 70 বাইট

setInterval(_=>a.innerHTML='|/-\\'[i=-~i%4],i=250)
Loading... <a id=a>-

-1 বাইট (জ্যাকারি টি)

আমার 132 বাইট এইচটিএমএল / সিএসএস উত্তরও দেখুন


ওভারফ্লো হতে পারে i?
জাকারি

হ্যাঁ, শেষ পর্যন্ত হবে। স্থির!
darrylyeo

1
আপনি প্রতিস্থাপন করতে পারে i++,i%=4সঙ্গে i=-~i%4একটি বাইট জন্য?
জাকারি

2
@ এক্সুফক্স <pre>শুধুমাত্র নিশ্চিত করা একটি মনসপাসড ফন্ট ব্যবহার করা হয়েছে যাতে chইউনিটগুলি কাজ করতে পারে। বিধিগুলিতে ব্যবহৃত ফন্ট পরিবার সম্পর্কে কিছুই উল্লেখ করা হয়নি। ;)
darrylyeo

1
যদি আমার ভুল না হয় তবে জেএস দ্বারা মুদ্রিত প্রথম চরিত্রটি স্ট্রিংয়ের শেষটি হবে; সুতরাং আপনি -পরিবর্তে এর সাথে সূচনা করা উচিত /। অথবা সঙ্গে Init |এবং লুপের মাধ্যমে '-\\|/'। ভাল বর্ধন যদিও।
তিতাস

21

উইন্ডোজ ব্যাচ, 121 114 84 80 79 78 বাইট

এটি মজাদার জন্য বাইরে ফেলে দিচ্ছি।

for %%b in (/ - \ ^|)do (cls
@echo Loading... %%b
ping 1.1 -n 1 -w 250>nul)
%0

আমি |অ্যারেতে পাইপ ( ) বরাদ্দ করতে সক্ষম হইনি , সুতরাং আমাকে অন্য অ্যাসাইনমেন্ট সহ ম্যানুয়ালি যুক্ত করতে হয়েছিল।বিলম্বটি সম্পন্ন হয়েছে PING, যা সঠিক নাও হতে পারে

আউটপুট:

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

সম্পাদনা:

  • 7 বাইট সংরক্ষণের জন্য রোমান গ্রাফকে ধন্যবাদ!
  • 30 বাইট সঞ্চয় করার জন্য নীলকে ধন্যবাদ! আমি নিউলাইনগুলিতে বাইটগুলি বাঁচাতে আরও কিছুটা ম্যাঙ্গাল করেছি।
  • 4 বাইট সংরক্ষণের জন্য ফিরফক্সকে ধন্যবাদ!
  • আপনার বুদ্ধিমানের জন্য 2 বাইট সংরক্ষণের জন্য ধন্যবাদ!

3
আপনি অপসারণ করতে পারেন @echo offএবং একটি করা @প্রত্যেক সামনে setবা echoকমান্ড
রোমান Graf

1
আপনার অ্যারে দরকার নেই, in (/ - \ ^|)কাজ করে। এছাড়াও,% 0 লুপের চেয়ে ছোট একটি উপায় goto
নিল

2
আপনার আইপি ঠিকানা "1.1" (-4 বাইট) ব্যবহার করতে সক্ষম হওয়া উচিত, কারণ বেশিরভাগ প্ল্যাটফর্মগুলি আপনার জন্য এটি স্বয়ংক্রিয়ভাবে 1.0.0.1 এ প্রসারিত করবে।
ফিরফক্স

1
সামনের জায়গাটি সরিয়ে আপনি 1 বাইট সংরক্ষণ করতে পারবেন >nul
ডেথআইটিস

1
আমি জায়গাটির অর্থ এর আগে নয়, এর পরে নয়।
ডেথআইএসস

20

নোড, 72 70 বাইট

f=i=>console.log('\x1BcLoading... '+'|/-\\'[setTimeout(f,250,i=-~i%4),i])

\x1Bসঠিক বাইট গণনা পেতে আক্ষরিক পালানোর অক্ষরটি প্রতিস্থাপন করুন । f()অ্যানিমেশন শুরু করতে কল করুন । এটি আমার কম্পিউটারে ConEmu টার্মিনাল এমুলেটরটিতে দেখতে কেমন তা এখানে রয়েছে:

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


ব্যবহার করার চেষ্টা করুন \033c( \033এর প্রকৃত চর প্রতিনিধিত্ব দিয়ে প্রতিস্থাপন )। এটি দেখতে তেমন ভাল লাগছে না তবে এটি আপনাকে কিছু বাইট সংরক্ষণ করে।
মামা ফান রোল

iউপচে পড়বে না ?
জাকারি

12
@ জাচারিটি এটি million১ মিলিয়ন বছর পরে আসবে, তবে আমি প্রয়োজনে এটি ঠিক করতে পারি
ইটিএইচ প্রডাকশন ২

3
"আপনার প্রোগ্রামটি অনির্দিষ্টকালের জন্য চলতে সক্ষম হওয়া উচিত For উদাহরণস্বরূপ, আপনি যদি ফ্রেমের জন্য কাউন্টার ব্যবহার করেন তবে কাউন্টারটি কখনই আপনার ভাষায় সর্বাধিককে অতিক্রম করে ত্রুটি সৃষ্টি করে না" "হ্যাঁ, এটি প্রয়োজনীয়।
জাকারি

3
@ ফ্লোরেন্ট তবে তারপরে এটি নোডে চলবে না ;-)
ইটিএইচ প্রোডাকশনগুলি

14

কোটলিন, 67 66 বাইট

while(1>0)"|/-\\".map{print("\rLoading... $it");Thread.sleep(250)}

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

মোটামুটি স্ব-বর্ণনামূলক, \rলাইনটি সাফ করার জন্য ব্যবহার করে এবং কোটলিনের দুর্দান্ত স্ট্রিং সংযোগের সুবিধা গ্রহণ করে।

সম্পাদনা: 1 বাইট সংরক্ষণ করা @ mEQ5aNLrK3lqs3kfSa5HbvsTWe0nIu এ পরিবর্তন while(true)করে ধন্যবাদwhile(1>0)


1
আপনি (-1) এর while(1>0)পরিবর্তে একটি বাইট সংরক্ষণ করতে পারেন while(true)এবং সম্ভবত আপনার উত্তরে প্রকৃত ফাংশন বাক্য fun a(){<code>}গঠনটি অন্তর্ভুক্ত করা উচিত ( , +9)। আপনি যদি কিছুটা ধোঁকাবাজি হতে চান, আপনি ভেরিয়েবল ( val a={<code>}, +8) হিসাবে কোনও ফাংশন স্টোর ব্যবহার করতে পারেন ।
এফ। জর্জ

2
@ mEQ5aNLrK3lqs3kfSa5HbvsTWe0nIu 'সম্পূর্ণ প্রোগ্রাম' মোড গ্রহণযোগ্য নয়? .ktsএটি ক্লাস বা ফাংশন সংজ্ঞা ছাড়াই কোটলিন স্ক্রিপ্ট হিসাবে চালানো যেতে পারে । এছাড়াও, সাথে দুর্দান্ত কল while(1>0)!
টাইলার ম্যাকডোনেল

3
তবে কী, যদি একদিন, 0 1 এর চেয়ে বড় হয় ???? : পি
ফ্লিপট্যাক

কোটলিন স্ক্রিপ্ট ব্যবহারের দুর্দান্ত ধারণা। @ Flp.Tkc আপনার মন্তব্যটি আমাকে এটির স্মরণ করিয়ে দিয়েছে: কোডগল্ফ.স্ট্যাকেক্সেঞ্জাওএ / এ / 101131/62024 । তবুও কাঁপছে যে এটি সম্ভব।
এফ। জর্জ

@ টাইলারম্যাকডোনেল সত্যি? আমি জানতাম না যে আপনি সরাসরি স্ক্রিপ্ট হিসাবে কোটলিন চালাতে পারেন। তথ্যের জন্য ধন্যবাদ।
TheNumberOne

14

Vim, 35 বাইট

iLoading... \-/|<Esc>qqdb:sl250m<CR>p@qq@q

বিরক্তিকর সংস্করণ। এখানে একটি মেনে চলার সমাধান নেই এটি আরও ভাল:

ভিম (1 দ্বিতীয় ঘুম), 27 বাইট

idbgsp@@<C-U>Loading... \-/|<Esc>@.

ব্যবহার gsনা করা খুব খাটো, তবে আপনাকে এন্টার চাপতে হবে না। তার মানে ম্যাক্রো ইন-লাইনে ফিট করে এবং আমি স্যুইচ করে বাইটগুলি সংরক্ষণ করতে পারি @.। (যেহেতু পুনরাবৃত্ত কল পরে আর কিছুই চলতে পারে না, তাই আমি যা চাই তা টাইপ করতে পারি))


এই উত্তরের জন্য ধন্যবাদ! আমি শিখেছি gs, @.এবং @@মধ্যে @.এখনও আমার মাথা ব্যাথা করে তোলে!
খ্রিস্টান রোনডাউ

14

পাইথ, 31 বাইট

Wm,p+"\rLoading... "d.d.25"|/-\

এখানে দোভাষী ।

জিআইএফ লোড হচ্ছে

ব্যাখ্যা

Wm,p+"\rLoading... "d.d.25"|/-\
    +"\rLoading... "d              Concatenate the string "\rLoading... " and the variable d
   p                               Print the result without a newline
                     .d.25         Sleep for 0.25 seconds
  ,                                Form a two-element list with the results of the two statements above. This is only needed to execute both statements in a single lambda function.
 m                        "|/-\    Map the above statement over the characters in the string "|/-\", setting the variable d to the character for each iteration
W                                  While the result of the map statement is true, do nothing

13

পাওয়ারশেল (ভি 4), 57 56 54 53 58 57 বাইট

আমি বাইটকাউন্টে ফিরে শুরু করেছিলাম!

for(){cls;"Loading... "+"|/-\"[($a=++$a%4)];sleep -m 250}

পাওয়ারশেলের সিএলআই কিছু কম্পিউটারে কিছুটা আস্তে আস্তে বেরিয়ে যাবে, সুতরাং এটি নিখুঁত দেখাচ্ছে না, তবে এটি আমি যতটা সম্ভব পেতে পারি ততটা ভাল।

একটি বাইট সংরক্ষণ করতে লুপের জন্য $ a ++ সরানো হয়েছে, (না ;)

তারপরে এটি রোমানকে আরও 2 বাইট সংরক্ষণের জন্য অ্যারে সূচকগুলিতে সরানো হয়েছে।

এছাড়াও ;সাফ স্ক্রিন ( cls) অংশটি লুপের জন্য সরানোর মাধ্যমে আরও 1 বাইট ( ) সংরক্ষণ করা হয়েছে ..

প্রশ্নের অসীম দিকের জন্য টিমমিড দ্বারা নির্দেশিত ইস্যু এবং ফিক্স করুন, কেবলমাত্র +5 বাইটের প্রয়োজন, এটি পরিবর্তিত $a++%4হয় ($a=++$a%4)যাতে এটি কখনও 3 এর উপরে না যায়।

লুপটিকে পুরোপুরি ফাঁকা রেখে আরেকটি বাইট সংরক্ষণ করেছেন, পাওয়ারশেল সংস্করণ 4 এ এটি সম্ভবত সম্ভব বলে চিহ্নিত করার জন্য 'যাই হোক না কেন' ধন্যবাদ!

এই উত্তরের (চূড়ান্ত?) সংস্করণটির জন্য নতুন আপডেট হওয়া জিআইএফ ।

জিআইএফ লোড হচ্ছে

for(;;cls){"Loading... "+"|/-\"[($a=++$a%4)];sleep -m 250}

for(;;cls){"Loading... "+"|/-\"[$a++%4];sleep -m 250}

for(;;){"Loading... "+"|/-\"[$a++%4];sleep -m 250;cls}

for(;;$a++){"Loading... "+"|/-\"[$a%4];sleep -m 250;cls}

for(;;){$a++;"Loading... "+"|/-\"[$a%4];sleep -m 250;cls}


2
for(;;){"Loading... "+"|/-\"[$a++%4];sleep -m 250;cls}( $a++এর সর্বশেষ ব্যবহারের দিকে সরান $a)
রোমান গ্রাফ

সর্বদা কিছু ভুলে যাচ্ছি - এর জন্য ধন্যবাদ!
কলসউ

2
আমি পাওয়ারশেলের ব্যাপারে খুব পারদর্শী নই, তবে আমি যখন উইন্ডোজ ব্যাচের প্রবেশ দেখেছি, তখন আমি ভেবেছিলাম "কি পাওয়ারশেল এটিকে পরাজিত করতে পারেন?"। এবং এটি এখানে!
জাকুব জাঙ্কোভস্কি

1
কমপক্ষে PS v4- এ আপনার শর্তটি সম্পূর্ণ খালি রেখে অন্য কোনও বাইটে গল্ফ তৈরি করতে সক্ষম হওয়া উচিত:for(){cls;"Loading... "+"|/-\"[($a=++$a%4)];sleep -m 250}
যাই হোক

1
আপনাকে স্বাগতম. এটি সংস্করণ 2+ এর জন্য কাজ করছে বলে মনে হচ্ছে, এটি আগে যাচাই করা খুব অলস ছিল;)
যাই হোক

11

পাইথ - 36 35 বাইট

#+"\033cLoading... "@"\|/-"~hZ.d.25

স্পষ্টতই অনলাইনে কাজ করে না।


আপনি কি এই কাজের মধ্যে একটি gif আছে? এছাড়াও, এমন কোনও কাউন্টার রয়েছে যা উপচে পড়তে পারে?
ফ্লিপট্যাক

@ Flp.Tkc কেবলমাত্র একটি কাউন্টার Zযা অজগর পূর্ণসংখ্যা, যা উপচে পড়ে না। আমি একটি জিআইএফ তৈরি করার চেষ্টা করছিলাম কিন্তু এটি কাজ করতে পেল না। আপনি যদি কীভাবে এটি বানাতে জানেন তবে github.com/isaacg1/pyth এ পাইথ
মালটিসেন

4
যদি পূর্ণসংখ্যা ওভারফ্লো না হয়, তবে সম্ভবত সমস্ত মেমরি পূরণ না হওয়া পর্যন্ত এটি বৃদ্ধি পাবে, যা বেশিরভাগ 32-বিট সিস্টেমে কমপক্ষে 10⁶⁵⁰⁰⁰⁰⁰⁰⁰ বছর পরে এটি ব্যর্থ হয়ে যায়। অবশ্যই, মহাবিশ্বের তাপের
মৃত্যুটি

11

মতলব, 78 75 বাইট

a='\|/-';while 1;clc;disp(['Loading... ',a(1)]);a=a([2:4,1]);pause(1/4);end

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



9

গণিত, 74 67 বাইট

ListAnimate["Loading... "<>#&/@{"|","/","-","\\"},AnimationRate->4]

@ ডাহনাককে ধন্যবাদ দিয়ে একটি পুরো 7 বাইট অফ


ListAnimate["Loading... "<>#&/@Characters@"|/-\\",AnimationRate->4]
ড্যান ওক

1
@ দাহনাক চিয়ার্স! আমি বুঝতে পারিনি তালিকামজাতীয় জিনিস। এটি লজ্জার বিষয় যে <>ফ্ল্যাটটি তালিকাভুক্ত নয় অন্যথায় আরও 4 বাইট মুভ করা যায়!
এ সিমন্স

কেবল মজাদার জন্য:Dynamic["Loading... "<>{"|","/","-","\\"}[[1+Round[4Now@"Second"]~Mod~4]],UpdateInterval->.25]
শ্রেক্স

9

সি #, 170 133 বাইট

void X(){Console.Write("Loading...  ");for(;;){foreach(var c in "|/-\\"){Console.Write("\b"+c);System.Threading.Thread.Sleep(250);}}}

রোমান গ্রাফ এবং রাজনগুলকে অনেক ধন্যবাদ, যিনি আমাকে 37 বাইট সংরক্ষণ করেছিলেন। (বিশেষত রাজনগুল, যিনি উল্লেখ করেছিলেন যে আমার মূল সমাধানটি যাইহোক অবৈধ ছিল I

পিট আরডেনের বিদ্যমান সি # উত্তরটির সাথে বেশ কিছুটা মিল তবে কিছু উন্নতি রয়েছে

উদাহরণস্বরূপ "(যখন;)" এর পরিবর্তে "যখন (সত্য)", স্ট্রিংয়ের পরিবর্তে চর

আমি তার উত্তরে আমার পরামর্শগুলি মন্তব্য করতাম তবে আসলে এটি করার মতো যথেষ্ট খ্যাতি আমার নেই।

Ungolfed:

static void X()
{
    Console.Write("Loading...  ");
    for (;;)
    {
        foreach (var c in "|/-\\")
        {
            Console.Write("\b" + c);
            System.Threading.Thread.Sleep(250);
        }
    }
}

2
কেন প্রথমটিকে সরিয়ে Console.Write("\b");দ্বিতীয়টিতে পরিবর্তন করবেন না Console.Write("\b"+a);?
রোমান গ্রাফ

কোনও ক্রিয়াকলাপ সংজ্ঞায়িত করা অপ্রয়োজনীয় এবং দীর্ঘায়িত লুপটি ব্যবহার foreach(var a in"|/-\\")এবং আপনার ক্রিয়ায় থাকা কোডটি যুক্ত করা শরীরের হিসাবে আপনার you 20 বাইট সংরক্ষণ করবে।
রাজনগুল

এছাড়াও, কাজটি হ'ল প্রয়োজনীয় আউটপুট তৈরি করা। বর্তমানে যেটি হয় না।
রাজনগুল

এটা এখনই হওয়া উচিত, আমি ভুলে গিয়েছিলাম | '' এবং "লোডিং ..." এর পরে চলার স্থান।
তুষারপাত

আপনার অরোগল্ফড সংস্করণে (যেহেতু এটি গল্ফযুক্ত সংস্করণটির সাথে মেলে না), আপনি প্রথমটি সরাতে পারেন Console.Write()এবং Console.Write($"Loading... {c}\r")দ্বিতীয়টির পরিবর্তে মাত্র একটি ব্যবহার করতে পারেন ।
দুধ

9

ঘোষণা, 72, 73 বাইট

সম্পাদনা :

  • শুধুমাত্র গফর্ট-সংস্করণ যুক্ত হয়েছে, by৯ বাইট (ধন্যবাদ @ নিনজালজ!)
  • "লোড হচ্ছে ..." (Thx @ রোমান গ্রাফ!), +1 বাইটের পরে নিখোঁজ সাদা স্থান যোগ করা হয়েছে
  • নিয়মগুলি আরও সুনির্দিষ্টভাবে মেলাতে আপডেট করা হয়েছে (একই বাইট গণনায়)

Golfed

: L '| '/ '- '\ begin .\" \rLoading... " 3 roll dup emit 250 ms again ; L

গফোর সংস্করণ

জিএনইউ ফোর্থ-একমাত্র সংস্করণটি এভাবে 69 বাইটে নামানো যেতে পারে:

'| '/ '- '\ [begin] .\" \rLoading... " 3 roll dup emit 250 ms [again]

স্কীনকাস্ট

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

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


1
যেহেতু আপনি gforth ব্যবহার করছেন, যদি আপনি অন্য ফোর্বের বহনযোগ্যতার বিষয়ে চিন্তা না করেন তবে আপনি কোনও শব্দ সংজ্ঞা ব্যবহার করতে পারেন [begin]এবং এর [again]বাইরেও পারেন ।
নিনজালজ

9

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

import time
i=1
while 1:print'\rLoading...','\|/-'[i%4],;i+=1;time.sleep(.25)

বেশ সহজ সমাধান যা ব্যবহার করে ঘুমায় time

আমি \rলাইনের শুরুতে ফিরে যেতে এবং তারপরে লাইনটি ওভাররাইট করে বার্তাটি মুদ্রণের জন্য (একটি ক্যারেজ রিটার্ন) ব্যবহার করি ।

আমি i=1ডাবল পলায়ন এড়াতে শুরু \(এটি '\|/-'পরিবর্তে হয় '|/-\\')।

অতীতে, আমি -~iবোঝাতে চেয়েছিi + 1 বন্ধনী এড়ানোর । ( এই -২ বাইটের জন্য @ Flp.Tkc কে ধন্যবাদ !) (এটি i=(i+1)%4বনাম ছিল i=-~i%4)

প্রযুক্তিগতভাবে পাইথন intওভারফ্লো করতে পারে না বলে এখন আমি কাউন্টারকে চিরতরে বাড়তে দিচ্ছি । এটি নির্দেশ করে এবং একটি বাইট সংরক্ষণ করার জন্য @ জাচারি টি কে ধন্যবাদ !
এটি কেবল একটি মেশিনে থামায় কারণ মেশিনটি মেমরির বাইরে চলে যায় তবে এটির জন্য 4 গিগাবাইট মেমরির সাথে 9.7 প্রজন্ম লাগে int

@ কেডকে ধন্যবাদ -1 বাইটের জন্য যেখানে print a,bপ্রিন্ট aএবং bস্পেস হয়েছে , তাই আমার নিজের জায়গার প্রয়োজন নেই।

উইন্ডোজটিতে এটির একটি জিআইএফ কাজ করছে:

বোঝাই

আমি এটি একটি লিনাক্স ভিএম-তেও পরীক্ষা করেছি। আমি এটি কোনও ম্যাকের মাধ্যমে পরীক্ষা করতে পারিনি।


1
যদি আমি সঠিকভাবে মনে রাখি তবে আপনি i=-~i%4
পেরেনদের

2
প্রতিস্থাপন করবে না [i],;i=-~i%4সঙ্গে [i%4],;i+=1একটি বাইট সংরক্ষণ যেহেতু এটি পাইথন, সর্বোচ্চ, শুধুমাত্র সর্বাধিক মেমরির অতিক্রম না করে?
জাকারি

9
হিসাবে লগ ইন করার জন্য আমি আপনাকে ডাউনভিট করা উচিত Administrator...
নিল

5
@ নীল সম্পূর্ণ সত্য বলতে, আমি পাইথন ফাইলটি কেবল প্রশাসকের কাছে রেখেছি এবং সেখান থেকে এটি চালিয়েছি কারণ অন্যান্য অ্যাকাউন্টের নামগুলি আসল নাম (পার্সোনাল পিসি)।
আরটিয়ার

2
প্রযুক্তিগতভাবে পাইথনের পূর্ণসংখ্যার অসীম আকারে বড় হতে পারে, যতক্ষণ না কম্পিউটারের
এগুলি

7

MATL , 36 বাইট

বৃত্তাকারে স্ট্রিং স্থানান্তরিত করার বিষয়ে @ ফ্লাওয়ারের ধারণাটি ব্যবহার করে 1 বাইট সরানো হয়েছে

'\-/|'`Xx1YS'Loading... 'y1)hD.25Y.T

এখানে অফলাইনের সংকলকটির একটি জিআইএফ রেকর্ডিং রয়েছে:

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

বা এটি চেষ্টা করুন এমএটিএল অনলাইন এ !যদি এটি প্রাথমিকভাবে না চালায় তবে পৃষ্ঠাটি রিফ্রেশ করুন এবং আবার "চালান" টিপুন।

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

'\-/|'           % Push this string
`                % Do...while
  Xx             %   Clear screen
  1YS            %   Circularly shift thr string 1 step to the right
  'Loading... '  %   Push this string
  y              %   Duplicate the string of shifting symbols
  1)             %   Get the first character
  hD             %   Concatenate the two strings and display
  .25Y.          %   Pause for 0.25 seconds
  T              %   Push "true". This is used as loop condition, to it
                 %   generates an infinite loop
                 % End loop implicitly

আরে লুইস এমএটিএল দিয়ে বরাবরের মতো ভাল করে ফেলেছে। বিজ্ঞপ্তি তালিকার কিছুটা ভিন্নতা এখানে। এবং প্রদর্শন। আপনি কি মনে করেন যে a='\|/-';k=1; fprintf('Loading... -') while 1 k=mod(k,4)+1; fprintf('\b\b%c\n',a(k)); pause(.25); end
এটির

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

7

ডায়ালগ এপিএল, 50 বাইট

এটি কেবল উইন্ডোজ সংস্করণে কাজ করে, অন্যথায় ডাকা ⎕SMনা হলে উইন্ডোটি প্রদর্শিত হবে না ⎕SR

{⎕SM←1 1,⍨⊂⊃⍵⌽'Loading... '∘,¨'|/-\'⋄∇4|⍵+⌈⎕DL÷4}1

ব্যাখ্যা:

  • {... }1: দিয়ে শুরু করুন ফাংশন⍵=1
  • Loading... '∘,¨'|/-\': সম্ভাব্য চারটি আউটপুট জেনারেট করুন
  • ⊂⊃⍵⌽: Element তম উপাদানটি প্রথমে রাখার জন্য তালিকাটি ঘোরান, প্রথম উপাদানটি নিন এবং এটি বন্ধ করুন
  • ⎕SM←1 1,⍨: ⎕SMউইন্ডোর উপরের-বাম কোণে স্ট্রিংটি রাখুন ।
  • ⎕DL÷4: এক সেকেন্ডের 1/4 র্থ অপেক্ষা করুন
  • 4|⍵+⌈: ফলস্বরূপ মানটি চার্জ করুন (সেকেন্ড অপেক্ষা করতে ব্যয় করেছেন, তাই এটি সর্বদা 1), এতে যুক্ত করুন (এটি বাড়ানো) এবং মোড -4 নিন (এটিকে অবশেষে উপচে পড়া থেকে রোধ করতে)।
  • : নতুন দিয়ে আবার ফাংশন চালান

অ্যানিমেশন


কোনওভাবে আমি জানতাম যে ডায়ালগের (/ এপিএল) জন্য কেউ এই চ্যালেঞ্জের জন্য একটি উত্তর জমা দেবে :)
YoYoYonnY

7

সি #, 187 বাইট

Golfed:

void L(){Console.Write("Loading...");Action<string>l=(a)=>{Console.SetCursorPosition(11,0);System.Threading.Thread.Sleep(250);Console.Write(a);};while(true){l("|");l("/");l("-");l("\\");}

Ungolfed:

public void L()
{
  Console.Write("Loading...");
  Action<string> l = (a) =>
  {
    Console.SetCursorPosition(11, 0);
    System.Threading.Thread.Sleep(250);
    Console.Write(a);
  };
  while (true)
  {
    l("|");
    l("/");
    l("-");
    l("\\");
  }
}

এটি লোড হওয়ার জন্য এখনও অপেক্ষা করছে ...

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


এখনও এটি "\" প্রদর্শন করার জন্য অপেক্ষা করছে ...
manatwork

@ মানাত ওয়ার্ক ওহ ক্রপ, অলস অনুলিপি এবং আটকানো। আমি যখন খুব শীঘ্রই আমার ডেস্কে ফিরে আসছি তখন এটি ঠিক করবে :)
পিট আরডেন

আমার মন্তব্যের কারণে আপনার সমাধান দীর্ঘায়িত হতে দেখে দুঃখিত। আপনি এটি 186 এ ফিরে পাওয়ার 1>0পরিবর্তে ব্যবহার করতে পারবেন না true?
manatwork

@ এরিকগল্ফার エ リ ッ ク ゴ ル フ ァ ー, সি # সম্পর্কে কোনও ধারণা নেই, তবে ভাষাটি জাভা-র একটি অনুলিপি এবং এর ভিত্তিতে স্পষ্টতই বুলিতে কন্ট্রোল করা যায়নি বলে ধারণা করা হয়েছে , আমি ভেবেছিলাম যে এটি কার্যকর হবে না। (বিটিডাব্লু, যদি এটি কাজ করে তবে l()শর্ত হিসাবে প্রথম কলটি ব্যবহার করাও কাজ করবে?)
manatwork

2
@ মানাটকার্ক ঠিক আছে, মনে হচ্ছে সি # অজলফুল।
এরিক দ্য আউটগল্ফার

7

স্ন্যাপ !, 8 টি ব্লক

স্ন্যাপের আটটি ব্লক!

এটি আমি প্রথমবারের মতো প্রথম অ্যালগরিদমগুলির মধ্যে একটি ছিল যা আমি কখনও কোনও অ্যাপলকে দেখে আশ্চর্য করেছিলাম] [ই


1
আমাদের আপনার
অ্যাপলসফট

1
আমি আনন্দের সাথে হাইপারকার্ডে এটি করব।
wyldstallyns

6

রেটিকুলার, নন-কেপটিং, 40 বাইট

:i=@C"Loading... "o"|/-\\".iHo14%w.i1+4,

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

আমি সহ অনেকগুলি কিছু করাতে ভুলে গেছি w । আচ্ছা ভালো.

ব্যাখ্যা

:i=@C"Loading... "o"|/-\\".iHo14%w.i1+4,
:i=                                       set `i` to the TOS
   @C                                     clear the screen
     "Loading... "o                       output that string
                   "|/-\\"                push that string
                          .i              get `i`
                            H             get the `i`th character of that string
                             o            and output it
                              14%         push 0.25 (1/4)
                                 w        wait that long
                                  .i      get `i`
                                    1+    increment
                                      4,  mod 4
                                          this wraps around the beginning of the program,
                                          setting i to the said value

6

বাশ, 98 69 বাইট

while s='\|/-';do
printf "\rLoading... ${s:i=++i%4:1}"
sleep .25
done

বহু বাইট গল্ফড হয়ে যাওয়ার জন্য অনেক লোককে ধন্যবাদ!


এছাড়াও আপনি ব্যাকস্ল্যাশ অব্যাহতি যদি আপনি একক উদ্ধৃতি চিহ্ন ব্যবহার না এবং জন্য আর্গুমেন্ট echo -e -nকরার মিলিত হতে পারেecho -en
ইভান চেন

প্রতিধ্বনি লাইনটি প্রতিস্থাপন করে আপনি 2 লাইন এবং 13 বাইট সংরক্ষণ করতে পারেন:echo -en "\rLoading... ${s:i=(i+1)%4:1}"
ইপোর সিরসর

echo -enprintf; whileশর্তটি অ্যাসাইনমেন্ট করুন ।
manatwork

printf ব্যবহার manatwork মত বললেন, সাবস্ট্রিং প্রক্রিয়া সহজ, এবং এটা সরাসরি রাখা whileশর্ত: while printf "\rLoading... ${s:i++%4:1}";do। 67 বাইট
ডোমিনিক আর

এটি ডোমিনিক আর কাজ করবে না, এটি পরিণতিতে উপচে পড়বে।
জাকারি


6

> <> , 55 + 4 = 59 বাইট

"...gnidaoL"v
l?!voc1. ^:<>
<v<>'\|/-'>^v
^<^<<<8{<<^o<

পাসিং চালাতে হবে -t .01দোভাষীর অতিরিক্ত যুক্তি হিসাবে , এটি বাইট গণনায় +4।

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

দোভাষীর কাছে আর্গুমেন্টের মাধ্যমে সময় নির্ধারণ করা হয়, যা প্রতিটি নির্দেশ কার্যকর করার আগে 0.01 সেকেন্ড অপেক্ষা করতে বাধ্য করে। একটি আউটপুট এবং পরেরটির মধ্যে 23 টি নির্দেশনা রয়েছে (তাদের বেশিরভাগই কেবল নির্দেশের নির্দেশককে পরবর্তী কক্ষে নিয়ে যান), সুতরাং এটি 0.23 সেকেন্ড অপেক্ষা করবে এবং নির্দেশাবলীর সম্পাদনের জন্য প্রয়োজনীয় সময়টি অপেক্ষা করবে, যা অনুরোধকৃত 0.25 সেকেন্ডে কোনও সমস্যা ছাড়াই ফিট করে which 10% ত্রুটি সহ

আপনি এটি অনলাইনে চেষ্টা করে দেখতে পারেন , তবে সেই দোভাষী যে ব্যাকস্পেসের চরিত্রটি চিনে না, তাই আউটপুটটি এখানে কিছুটা অদ্ভুত হবে।


সাধারণত পতাকা পছন্দ -n1 বাইট হিসাবে স্কোর করতে হয়, তাই আমি মনে করি আপনি যেমন যুক্তি স্কোর করতে পারেন t, .01যা 4 বাইট।
বিটিডব্লিউ

@ Flp.Tkc ধন্যবাদ! আমি যুক্তির জন্য বাইটগুলি কীভাবে গণনা করব তা সম্পর্কে নিশ্চিত ছিলাম না, আমি এই পছন্দ করি :)
লিও

@ লিও - ০.০১ ব্যবহার করার কোনও কারণ আছে এবং কম নির্দেশাবলীর সাথে বড় টিক না? আমি আমার সংস্করণ যুক্ত করেছি যা 8 নির্দেশাবলীর লুপ এবং 0.03 এর টিক কাউন্ট ব্যবহার করে; # "... gnidaoL" L! vob0। "\ | / -": O} 8o51। > #
টিলে পেলিকান

@ ট্রিপেলিকান একটি কারণ আছে, তবে এটি খুব ভাল নয়: বিধিগুলিতে বলা হয়েছে যে "প্রাথমিকভাবে আউটপুট দেখানোর আগে আপনাকে 0.25 সেকেন্ড অপেক্ষা করা উচিত নয় - প্রোগ্রামটি চালুর সাথে সাথে প্রথম ফ্রেমটি মুদ্রিত করা উচিত।" টাইমারটি খুব দীর্ঘ করতে চাই না, অন্যদিকে এটি কোড গল্ফ, তাই আমি এটিকে খুব ছোট করতে চাই না। শেষ পর্যন্ত আমি 0.2 টি অনুরোধকৃত 0.25 এর সঠিক সময়টি অর্জনের জন্য প্রত্যেকে 0.01 সেকেন্ডে 25 টি নির্দেশের লুপের জন্য সিদ্ধান্ত নিয়েছি; আমি যখন এটি প্রয়োগ করেছি, তবে আমি বুঝতে পেরেছিলাম যে আমার কাছে সম্পূর্ণ লুপের জন্য পর্যাপ্ত জায়গার অভাব রয়েছে, সুতরাং আমাকে 10% নিয়ম ব্যবহার করতে হবে।
লিও

আমি অবশ্যই নিয়মগুলি ভুলভাবে পড়েছি। সময়টির এটি একটি পুরোপুরি ভাল কারণ :)
টিল পেলিকান

6

এমএস-ডস .কম ফাইল, 56 বাইট

হেক্সাডেসিমালে ফাইল সামগ্রী এখানে:

b4 09 ba 2c 01 cd 21 b2 2f e8 11 00 b2 2d e8 0c
00 b2 5c e8 07 00 b2 7c e8 02 00 eb ea b4 02 cd
21 b2 08 cd 21 b9 05 00 f4 e2 fd c3 4c 6f 61 64
69 6e 67 2e 2e 2e 20 24

মিলে যাওয়া এসেমব্লার কোডটি দেখতে এমন দেখাচ্ছে:

    mov ah, 9      ; Print "Loading... "
    mov dx, text
    int 21h
theloop:
    mov dl, '/'    ; Call "chrout" for "/", "-", "\" and "|"
    call chrout
    mov dl, '-'
    call chrout
    mov dl, '\'
    call chrout
    mov dl, '|'
    call chrout
    jmp theloop    ; Endless loop

chrout:            ; Sub-Function "chrout"
    mov ah, 2      ; Output the character
    int 21h
    mov dl, 8      ; Output backspace
    int 21h
    mov cx,5       ; Call "HLT" 5 times
timeloop:
    hlt            ; Normally HLT will wait ~55 milliseconds
                   ; (Assuming no keyboard key is pressed)
    loop timeloop
    ret            ; End of the function

text:
    ASCII "Loading... ",'$'

1
কী চাপলে তা স্পিনারকে ত্বরান্বিত করে, যা টাইমার বিঘ্ন ব্যতীত অন্য বিঘ্নগুলি মাস্ক করে ঠিক করা যায়, যেমন:mov al, 0xfe / out 0x21,al
নিনজালজ

এইচএলটি-র মন্তব্যটি ভুল, সম্ভবত আপনি বোঝাতে চেয়েছিলেন যে এইচএলটি জেগে উঠেছে .2 18.2 হার্জেড (বা আরও স্পষ্টভাবে, এনটিএসসি ঘড়িতে / 12/65536 হার্জে)।
ninjalj

ধন্যবাদ নিনজালজ আমি মন্তব্য পরিবর্তন করেছি ...
মার্টিন রোজেনউ

6

এনএএসএম x86_64 - 349 283 বাইট

এটি 64 বিট লিনাক্স সিস্টেম চালানো উচিত

ব্যবহার করে নির্মিত:

nasm loading_golfed.asm -felf64 && ld loading_golfed.o

%use altreg
global _start
section .data
o:db"Loading...  "
s:db"|/-\\"
b:db`\bx`
q:dq 0,250000000
_start:mov r0,1
mov r7,1
mov r6,o
mov r2,12
syscall
mov r2,2
l:mov r7,1
mov al,[s+r8]
mov [b+1],al
mov r0,1
mov r6,b
syscall
mov r0,35
lea r7,[q]
mov r6,0
syscall
inc r8
and r8,3
jmp l

অ্যানিমেশন:

65 বাইট সংরক্ষণ করা হয়েছে - ধন্যবাদ ব্যবহারকারী 254948

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


আমি 349 বাইট গণনা করি, যদি না
পূর্ববর্তী

^ FLP। টাকসি ধন্যবাদ, শেষে একটি স্পেস সহ একটি লাইন ছিল
স্যামুয়েল

@ সামুয়েল 13-17 লাইনের দরকার? এই লাইনগুলি ছাড়া এটি বেশ সুন্দর কাজ করবে বলে মনে হচ্ছে। আমি যতদূর বলতে পারি (এসেম্বলিতে এতো দুর্দান্ত নয় যে আমি ভয় করি) আপনি লোডিংটি মুদ্রণ করুন ...., তারপরে | চরিত্রটি, তারপরে সেই অক্ষরটি সরিয়ে ফেলুন, তারপরে একটি লুপ প্রবেশ করুন যেখানে আপনি মুদ্রণের পুনরাবৃত্তি পুনরাবৃত্তি করবেন প্রথমবারের মত.
ব্যবহারকারী 254948

@ সামুয়েল যোগ জোড় আর 8, আর 8 -> মুভ আর 8,0 (1 টি চরিত্র সংরক্ষণ করে), কিছু এমওভি'র অতিরিক্ত স্থান রয়েছে (মুভ আর 7, 1 -> মুভ আর 7,1)। আরও আরও নির্দেশাবলী cmp r8,4, jl l, xor r8, r8, এ্যান্ড আর আর 8,3 (15 টি অক্ষর সংরক্ষণ করে) দ্বারা প্রতিস্থাপন করা যেতে পারে। আপনার 349 এর পরিবর্তে 285 বাইটে নামা উচিত! (উপরে বর্ণিত রেখার সাথে একত্রে)
ব্যবহারকারীর 254948

5

আর, 85 89 বাইট

repeat{if(T>4)T=1;cat("\fLoading...",c("|","/","-","\\")[T],sep="");T=T+1;Sys.sleep(.25)}

সম্পাদনা: উত্তর ফিক্সড যেমন যে Tচেয়ে বড় যদি কাউন্টার রিসেট করে অভ্যস্ত ওভারফ্লো 4

এই উত্তর সম্পর্কে একমাত্র আকর্ষণীয় দিকটি হ'ল আর এর TRUTHYঅন্তর্নির্মিত ব্যবহার T। এটি কার্যকরভাবে একটি পূর্বনির্ধারিত পরিবর্তনশীল সেট 1/TRUEযার অর্থ আমাদের কাউন্টারটি আরম্ভ করতে হবে না তবে বাড়ানো শুরু করতে পারে T


চান Tঅবশেষে ওভারফ্লো?
ফ্লিপট্যাক

@ Flp.Tkc এটি উপচে পড়বে না তবে অসীম অতীত হিসাবে বিবেচিত হবে 1e+308যা ক্ষেত্রে NAফিরে আসবে তাই আমার ধারণা এই উত্তরটি তখন অবৈধ (নিয়মগুলিতে এটি লক্ষ্য করেনি)। শীঘ্রই আপডেট হবে
বিলিওব

1
আপনি বিল্ট-ইনটি ব্যবহার না করেন তবে আপনি এটি 2 বাইট সংক্ষিপ্ত পেতে পারেন T: i=1;repeat{cat("\rLoading...",c("\\","|","/","-")[i]);Sys.sleep(.25);i=`if`(i>3,1,i+1)}87 বাইট।
প্ল্যানাপাস

হুম ... আর কি কেবল ভেক্টরগুলিতেই কাজ করে? কেন পরমাণুর জন্য কোনও মডুলো বা বিটওয়াইজ অপারেটর নেই? হয় Tএকটি ভেক্টর? না T=(T+1)%%4কাজ করে? এটি আরও 5 বাইট সংরক্ষণ করতে পারে।
তিতাস

2
... বা T=T%%4+1: এমনকি 2 বাইট সংক্ষিপ্ত
তিতাস

5

হাস্কেল (জিএইচসি), 103 91 বাইট

import GHC.Conc
mapM((>>threadDelay 250000).putStr)$("\rLoading... "++).pure<$>cycle"|/-\\"

12 বাইট বাঁচানোর জন্য @ নিমিকে ধন্যবাদ!


পুরো প্রোগ্রামের দরকার নেই। mapM((threadDelay 250000>>).putStr)$("\rLoading... "++).pure<$>cycle"|/-\\"
নিমি

10% সহনশীলতা এবং প্রতিস্থাপন 250000এবং এর আগে স্থানটি ব্যবহার করে দুটি বাইট সংরক্ষণ করা যেতে পারে (4^9)
খ্রিস্টান সিভর্স

5

সি (ইউনিক্সের মতো সিস্টেমে) ৮৮ বাইট

main(_){for(;;){_%=4;printf("\rLoading... %c","\\-/|"[_++]);fflush(0);usleep(250000);}}

এটি ভুল চরিত্র দিয়ে শুরু হয় তবে আমার মনে হয় এটি আরও সুন্দর দেখাচ্ছে। আপনি "\ - / |" পরিবর্তন করে সহজেই অক্ষর ক্রম পরিবর্তন করতে পারেন স্ট্রিং।


বিবৃতি সরানো আরও গল্ফ করা যেতে পারে forain(_){for(;printf("\rLoading... %c","\\-/|"[_%4]);usleep(250000))_++,fflush(0);} যেতে পারে , যেমন: এরপরে পূর্ণসংখ্যার ওভারফ্লোর জন্য র্যাপ্রাউন্ডটি ধরে ধরে আরও গল্ফ করা যেতে পারে:main(_){for(;printf("\rLoading... %c","\\-/|"[_++%4]);usleep(250000))fflush(0);}
নিনজালজ

আপনি কি সেখানে fflush () প্রয়োজন ?
জন ইউ

বেশিরভাগ সিস্টেমে আপনার fflush প্রয়োজন, তাদের মধ্যে অনেকগুলি নিউলাইনগুলির উপর ভিত্তি করে বাফার করে। তবে এটি সম্ভবত কিছু সিস্টেমে এটি প্রয়োজনীয় নয়।
লাম্বদাবেতা

আপনি fprintf(stderr,...পরিবর্তে ব্যবহার করতে পারেন , যেহেতু লাইনের মতো বাফার নেই stdoutf...stderr,আট অক্ষর লাগে, যখন fflush(0);দশ লাগে, তাই এটি দুই অক্ষরের একটি নেট জয়।
10

5

পার্ল, 71 63 61 বাইট

s//\rLoading... |/;select$\,$\,$\,y'-|\/'\/|-'/4while$|=print

পূর্ববর্তী সংস্করণ:

$_="\rLoading... |";{$|=print;y#|/\-\\#/\-\\|#;select$\,$\,$\,.25;redo}

থ্যাঙ্কস @ প্রাইমো থেকে 10 বাইটের জন্য।


2
selectসময়সীমার পরিবর্তে ব্যবহার করার জন্য দুর্দান্ত কৌশল Time::HiRes। আপনি ব্যবহার করে ... while$|=printএবং প্রতিলিপিতে হাইফেনগুলি সামনে এবং শেষের দিকে সরিয়ে কয়েকটি বাইট সংরক্ষণ করতে পারেন । s//\r Loading... |/এছাড়াও অ্যাসাইনমেন্টের উপর একটি বাইট সংরক্ষণ করে।
primo

2
এবং এছাড়াও, যদি আপনি লিপ্যন্তর বিভেদক জন্য একক উদ্ধৃতি চিহ্ন ব্যবহার, সেখানে ব্যাকস্ল্যাশ পারেন অব্যাহতি কোন প্রয়োজন আছে: y'-\|/'\|/-'
primo

দেখে মনে হচ্ছে আপনার কোডের আগে আপনার বাড়তি জায়গা রয়েছে।
এরিক আউটগল্ফার

1
আক্ষরিক ব্যবহার করে আপনি অন্য একটি বাইট সংরক্ষণ করতে পারেন \r
নিনজালজ

1
আরও 2 জন্য y'-|\/'\/|-'/4জায়গায় ব্যবহার করুন .25
প্রিমো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.