เมื่อฉันเห็นรายการ code-golf ที่ทำให้ตัวละครหายไปสักหน่อยฉันก็อ่านรหัสลงไปฉันจะดูประวัติการแก้ไขของ diff-by-side ดูและเรียนรู้ :)
ความท้าทายนี้คือการสร้างโปรแกรมที่ให้ภาพเคลื่อนไหวที่สวยที่สุด
- อินพุตจะเป็นชุดของเวอร์ชันข้อความที่เรียงลำดับ
- โปรแกรมอาจถูกเขียนในภาษาการเขียนโปรแกรมใด ๆ
- อนุญาตให้โปรแกรม จำกัด ตัวเองให้ป้อนข้อมูลในบางภาษาโปรแกรมเฉพาะ
- ไม่ควรปรับโปรแกรมเป็นข้อมูลอินพุตเฉพาะ โปรแกรมควรเป็นแบบทั่วไปและใช้งานได้กับชุดข้อความรุ่นใด ๆ
- สำหรับแต่ละรุ่นในอินพุตจะต้องมีเวลาที่สอดคล้องกันในแอนิเมชั่นเอาท์พุทที่แสดงข้อความเต็มของเวอร์ชัน คุณต้องทำให้ความแตกต่างระหว่างสเตจเวอร์ชันและสเตจเวอร์ชันทั้งหมดต้องแสดงและตามลำดับในเอาต์พุต ในเฟรมหลักเหล่านี้จะต้องแสดงขนาดเวอร์ชันและผู้ดูควรเข้าใจว่านี่เป็นเวอร์ชั่นสมบูรณ์ที่พวกเขาเห็นอยู่ ณ จุดนั้น
- โปรแกรมไม่สามารถใช้รหัสบุคคลที่สามใด ๆ ในการคำนวณส่วนต่าง
- เอาต์พุตการไฮไลต์ไวยากรณ์เป็นทางเลือก หากโปรแกรมระบายสีไวยากรณ์มันอาจไม่ใช้รหัสบุคคลที่สามเพื่อทำเช่นนั้น
- ผลลัพธ์จะเป็นภาพเคลื่อนไหวแบบ GIF
- โปรแกรมอาจใช้ห้องสมุดบุคคลที่สามเพื่อเขียน GIF
- นี่คือความนิยมประกวดเพื่อให้เป็นตามคำนิยามของความนิยมประกวดในเว็บไซต์นี้รายการที่มีมากที่สุดชนะคะแนนโหวต
นี่คือสคริปต์ตัวอย่างง่ายๆที่ใช้ ธndiffและหมอนพื้นฐานเคลื่อนไหวสนับสนุน GIF และเคลื่อนไหวแต่ละเพิ่มและลบขั้นตอน:
โดยส่วนตัวแล้วฉันคิดว่านี่เป็นงานที่ค่อนข้างแย่ มันไม่ได้ทำการเน้นไวยากรณ์ แต่จะไม่ลองและย้ายโค้ดที่ได้รับการจัดเรียงใหม่มันไม่รู้สึกว่ามีใครบางคนกำลังแก้ไขมันอยู่และอื่น ๆ นอกจากนี้ยังแบ่งกฎที่เกี่ยวข้องกับการแสดงขนาดของอินพุตเป็นไบต์บนเฟรมหลักและใช้ไลบรารีบุคคลที่สามเพื่อทำ diffing ปรับปรุงห้องมากมาย!
และหวังว่ารายการยอดนิยมจะกลายเป็นเครื่องมือสนุก ๆ ที่มีประโยชน์สำหรับชุมชน codegolf.stackexchange.com ด้วย ดังนั้นมันจึงน่าชื่นชมถ้าโปรแกรมนั้นง่ายสำหรับผู้อื่นในการเรียกใช้และใช้งาน