Ihre Herausforderung besteht darin, einen unendlichen Ladebildschirm zu erstellen, der so aussieht:
Oder um genauer zu sein:
- Nehmen Sie keine Eingabe.
- Ausgabe
Loading...
mit nachgestelltem Leerzeichen, jedoch ohne nachgestellte Zeile. - Stufenlos zyklisch durch die Zeichen
|
,/
,-
und\
: alle 0,25 Sekunden überschreiben die letzte mit der nächsten in der Sequenz. Sie können nur das letzte Zeichen überschreiben oder die gesamte Zeile löschen und neu schreiben, solangeLoading...
nichts geändert wird.
Regeln
- Der Ausgabetext muss genau wie angegeben aussehen. Nachgestellte Zeilenumbrüche / Leerzeichen sind zulässig.
- Sie sollten nicht 0,25 Sekunden warten, bevor Sie die Ausgabe zum ersten Mal anzeigen - das erste Bild sollte gedruckt werden, sobald das Programm ausgeführt wird.
- Ihr Programm sollte auf unbestimmte Zeit ausgeführt werden können. Wenn Sie beispielsweise einen Zähler für Frames verwenden, sollte der Zähler niemals einen Fehler verursachen, indem er das Maximum in Ihrer Sprache überschreitet.
- Obwohl die Wartezeit zwischen jedem "Frame" 0,25 Sekunden betragen sollte, wird dies offensichtlich niemals exakt sein - eine Fehlerspanne von etwa 10% ist zulässig.
- Sie können eine Funktion übermitteln, diese muss jedoch an gesendet werden
stdout
. - Sie können eine Antwort in einer Nicht-Konsolenumgebung (aber immer noch textbasiert) senden, sofern die Ladeanimation erstellt werden kann.
- Das ist Code-Golf , also gewinnt die kürzeste Lösung (in Bytes). Es gelten Standard-Code-Golf-Regelungslücken.
- Geben Sie nach Möglichkeit ein GIF Ihres Ladebildschirms in Aktion an.
Beispiel
Hier ist der C ++ - Code, mit dem ich das Beispiel erstellt habe (ungolfed):
#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;
}
}
Möge der beste Golfer gewinnen!