あなたの課題は、次のような無限のロード画面を作成することです。
または、より具体的に:
- 入力なし。
- 出力
Loading...
、末尾にスペースがあり、末尾に改行はありません。 - 無限に文字を循環
|
、/
、-
および\
:0.25秒ごとに、シーケンス内の次で最後の1を上書きします。最後の文字だけを上書きすることも、行全体を削除して書き換えることもできますが、その間はLoading...
変更されません。
ルール
- 出力テキストは、指定されたとおりに表示される必要があります。末尾の改行/スペースは許容されます。
- 最初に出力を表示するまで0.25秒待つべきではありません -プログラムが実行されるとすぐに最初のフレームが印刷されます。
- プログラムは無期限に実行できる必要があります。たとえば、フレームにカウンターを使用する場合、カウンターが言語の最大値を超えてエラーを引き起こすことはありません。
- 各「フレーム」間の待機期間は0.25秒である必要がありますが、明らかにこれは決して正確ではありません-10%程度の誤差が許容されます。
- 関数を送信できますが、に印刷する必要があります
stdout
。 - 読み込みアニメーションを生成できる限り、非コンソール(ただしテキストベース)環境で回答を送信できます。
- これはcode-golfであるため、最短のソリューション(バイト単位)が優先されます。標準的なコードとゴルフの抜け穴が適用されます。
- 可能であれば、動作中のロード画面のgifを提供してください。
例
これが、サンプルの作成に使用したC ++コードです(変更なし)。
#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;
}
}
最高のゴルファーが勝つように!