Tantangan Anda adalah membuat layar pemuatan tanpa batas, yang terlihat seperti ini:
Atau, untuk lebih spesifik:
- Jangan masukan.
- Output
Loading...
, dengan spasi tambahan, tetapi tanpa tambahan baris baru. - Siklus jauh melalui karakter
|
,/
,-
dan\
: setiap 0,25 detik, menimpa yang terakhir dengan berikutnya dalam urutan. Anda dapat menimpa hanya karakter terakhir, atau menghapus dan menulis ulang seluruh baris, selamaLoading...
tidak berubah.
Aturan
- Teks keluaran harus terlihat persis seperti yang ditentukan. Newline / spasi tambahan dapat diterima.
- Anda tidak harus menunggu 0,25 detik sebelum awalnya menampilkan output - frame pertama harus dicetak segera setelah program dijalankan.
- Program Anda harus dapat berjalan tanpa batas. Misalnya, jika Anda menggunakan penghitung untuk bingkai, penghitung tidak boleh menyebabkan kesalahan dengan melebihi maksimum dalam bahasa Anda.
- Meskipun masa tunggu antara setiap "frame" harus 0,25 detik, jelas ini tidak akan pernah tepat - margin kesalahan 10% atau lebih diizinkan.
- Anda dapat mengirimkan fungsi, tetapi harus dicetak ke
stdout
. - Anda dapat mengirimkan jawaban di lingkungan non-konsol (tapi masih berbasis teks), selama itu mampu menghasilkan animasi pemuatan.
- Ini adalah kode-golf , sehingga solusi terpendek (dalam byte) menang. Lubang kode standar golf berlaku.
- Jika memungkinkan, berikan gif layar memuat Anda dalam tindakan.
Contoh
Berikut ini adalah kode C ++ yang saya gunakan untuk membuat contoh (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;
}
}
Semoga pegolf terbaik menang!