Khi tôi thấy các mục golf-code đánh bật một vài ký tự, giảm mã, tôi sẽ xem lịch sử chỉnh sửa cho một khác biệt bên cạnh. Xem và học hỏi :)
Thử thách này là tạo ra một chương trình tạo ra các khác biệt hoạt hình đẹp nhất.
- Đầu vào sẽ là bất kỳ loạt phiên bản văn bản nào.
- Chương trình có thể được viết bằng bất kỳ ngôn ngữ lập trình nào.
- Chương trình được phép giới hạn dữ liệu đầu vào trong một số ngôn ngữ lập trình cụ thể.
- Chương trình không nên được điều chỉnh theo dữ liệu đầu vào cụ thể; chương trình nên chung chung và hoạt động cho bất kỳ loạt phiên bản văn bản nào.
- Đối với mỗi phiên bản trong đầu vào, phải có thời gian tương ứng trong hoạt ảnh đầu ra nơi toàn văn bản của phiên bản được hiển thị. Bạn phải tạo hiệu ứng khác biệt giữa các giai đoạn phiên bản và tất cả các giai đoạn phiên bản phải có mặt và theo thứ tự trong đầu ra. Trên các khung chính này, kích thước phiên bản phải được hiển thị và người xem nên hiểu đây là phiên bản hoàn chỉnh mà họ đang thấy tại thời điểm đó.
- Chương trình không được sử dụng bất kỳ mã bên thứ ba nào để tính toán các khác biệt.
- Cú pháp tô sáng đầu ra là tùy chọn. Nếu cú pháp màu chương trình, nó có thể không sử dụng bất kỳ mã bên thứ ba nào để làm như vậy.
- Đầu ra sẽ là một GIF hoạt hình.
- Chương trình có thể sử dụng thư viện của bên thứ ba để tạo ra GIF.
- Đây là một cuộc thi phổ biến , vì vậy theo định nghĩa về cuộc thi phổ biến trên trang web này, bài dự thi có nhiều phiếu nhất sẽ chiến thắng .
Dưới đây là một ví dụ đơn giản kịch bản có sử dụng Python của ndiff và gối của thô sơ hoạt hình hỗ trợ GIF và sinh động mỗi add và remove bước:
Cá nhân, tôi nghĩ rằng đây là một công việc khá kém. Nó không làm nổi bật cú pháp, nó không thử và di chuyển các đoạn mã được sắp xếp lại, nó không cảm thấy như ai đó đang chỉnh sửa trực tiếp, v.v. Nó cũng phá vỡ các quy tắc liên quan đến việc hiển thị kích thước của đầu vào theo byte trên các khung chính và nó sử dụng thư viện của bên thứ ba để thực hiện việc phân biệt. Rất nhiều phòng để cải thiện!
Và hy vọng các mục phổ biến sẽ trở thành công cụ thú vị hữu ích cho cộng đồng codegolf.stackexchange.com. Vì vậy, nó được đánh giá cao nếu các chương trình dễ dàng cho người khác chạy và sử dụng.