ความท้าทายของคุณคือสร้างหน้าจอการโหลดแบบไม่ จำกัด ซึ่งมีลักษณะดังนี้:
หรือจะเจาะจงมากขึ้น:
- ไม่มีการป้อนข้อมูล
- เอาท์พุทที่
Loading...
มีพื้นที่ต่อท้าย แต่ไม่มีการขึ้นบรรทัดใหม่ - วงจรอนันต์ผ่านตัวอักษร
|
,/
,-
และ\
ทุก 0.25 วินาทีเขียนทับคนสุดท้ายที่มีต่อไปในลำดับ คุณสามารถเขียนทับอักขระตัวสุดท้ายหรือลบและเขียนทั้งบรรทัดใหม่ได้ตราบใดที่Loading...
ยังคงไม่เปลี่ยนแปลง
กฎระเบียบ
- ข้อความที่ส่งออกจะต้องมีลักษณะตรงตามที่ระบุไว้ ขึ้นบรรทัดใหม่ / ช่องว่างเป็นที่ยอมรับ
- คุณไม่ควรรอ 0.25 วินาทีก่อนที่จะเริ่มแสดงผล - เฟรมแรกควรจะพิมพ์ทันทีที่โปรแกรมทำงาน
- โปรแกรมของคุณควรจะสามารถทำงานได้อย่างไม่มีกำหนด ตัวอย่างเช่นหากคุณใช้ตัวนับสำหรับเฟรมตัวนับไม่ควรทำให้เกิดข้อผิดพลาดโดยเกินจำนวนสูงสุดในภาษาของคุณ
- แม้ว่าระยะเวลารอระหว่าง "เฟรม" แต่ละครั้งควรอยู่ที่ 0.25 วินาที แต่แน่นอนว่าจะไม่แน่นอน - อนุญาตให้มีข้อผิดพลาด 10% หรือมากกว่านั้น
- คุณสามารถส่งฟังก์ชั่น
stdout
แต่มันจะต้องพิมพ์ไป - คุณสามารถส่งคำตอบในสภาพแวดล้อมที่ไม่ใช่คอนโซล (แต่ยังเป็นแบบข้อความ) ตราบใดที่สามารถสร้างภาพเคลื่อนไหวการโหลดได้
- นี่คือรหัสกอล์ฟดังนั้นการแก้ปัญหาที่สั้นที่สุด (เป็นไบต์) ชนะ มีช่องโหว่ของรหัสมาตรฐานสำหรับกอล์ฟ
- หากเป็นไปได้โปรดระบุ gif ของหน้าจอการโหลดที่ใช้งานอยู่
ตัวอย่าง
นี่คือรหัส C ++ ที่ฉันใช้ในการสร้างตัวอย่าง (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;
}
}
ขอให้นักกอล์ฟที่ดีที่สุดชนะ!