Su desafío es hacer una pantalla de carga infinita, que se vea así:
O, para ser más específicos:
- No tomes ninguna entrada.
- Salida
Loading...
, con un espacio final, pero sin nueva línea final. - Ciclo infinitamente a través de los caracteres
|
,/
,-
y\
: cada 0,25 segundos, sobrescribir el último con la siguiente en la secuencia. Puede sobrescribir solo el último carácter, o eliminar y reescribir toda la línea, siempre queLoading...
permanezca sin cambios.
Reglas
- El texto de salida debe verse exactamente como se especifica. Las líneas / espacios finales son aceptables.
- Usted debe no espere 0,25 segundos antes de mostrar inicialmente de salida - el primer cuadro se debe imprimir en cuanto el programa se ejecuta.
- Su programa debería poder ejecutarse indefinidamente. Por ejemplo, si usa un contador para marcos, el contador nunca debe causar un error al exceder el máximo en su idioma.
- Aunque el período de espera entre cada "cuadro" debe ser de 0.25 segundos, obviamente esto nunca será exacto: se permite un margen de error del 10% más o menos.
- Puede enviar una función, pero debe imprimirla
stdout
. - Puede enviar una respuesta en un entorno que no sea de consola (pero basado en texto), siempre que sea capaz de producir la animación de carga.
- Este es el código de golf , por lo que gana la solución más corta (en bytes). Se aplican las lagunas de código estándar de golf.
- Si es posible, proporcione un gif de su pantalla de carga en acción.
Ejemplo
Aquí está el código C ++ que utilicé para crear el ejemplo (sin golf):
#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;
}
}
¡Que gane el mejor golfista!