Thử thách này là để tôn vinh ánh sáng Giáng sinh tẻ nhạt tại nhà của tôi.
Thách thức là tạo ra một đầu ra đồ họa hiển thị trang trí trong "thời gian thực".
Video (định dạng gif hoặc định dạng khác) sẽ có "đèn" dọc và ngang n-by-m . 5 <= m, n <= 40 . Kích thước và độ phân giải khung hình có thể thay đổi tùy thuộc vào n và m , nhưng phải có ít nhất 50x50 pixel cho n, m = 5 (đồ họa vector là OK). Một hình ảnh với n=6
và m=5
sẽ trông giống như thế này:
Trang trí:
Màu sắc:
Tất cả các đèn sẽ có một trong 6 RGB-màu sắc sau đây {255,0,0}
, {0,255,0}
, {0,0,255}
, {255,255,0}
, {0,255,255}
và {255,0,255}
.
Hoạt hình:
n
vàm
sẽ được lấy làm đầu vào trên bất kỳ định dạng hợp lý nào và theo thứ tự bạn muốn- Hình ảnh sẽ thay đổi mọi
dt = 25 ms
. Sai lệch là ổn nếu đó là do "các yếu tố bên ngoài" như giới hạn trong trình thông dịch, máy tính chậm, v.v.- Nếu không thể đặt bước thời gian theo cách thủ công, thì bước thời gian mặc định được chấp nhận.
- Tất cả các đèn sẽ có màu đỏ (
{255,0,0}
) tạit=0
. - Luôn có 5% cơ hội rằng ánh sáng đầu tiên (trên cùng bên trái) sẽ thay đổi màu sắc. Tất cả các màu (ngoại trừ màu hiện có) nên có khả năng như nhau.
Mỗi ánh sáng (trừ cái đầu tiên) sẽ có màu của ánh sáng bên trái. Nếu ánh sáng ở phía xa bên trái thì nó sẽ có được màu của ánh sáng ở phía xa bên phải trên hàng phía trên. Các đèn được đánh số như hình dưới đây. Số ánh sáng
k
sẽ có được màu của số ánh sángk-1
.1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Về lý thuyết, đầu ra sẽ chạy mãi mãi (trừ khi ngôn ngữ / trình thông dịch của bạn có một số hạn chế ngăn cản điều này).
- Vui lòng cung cấp một mẫu ít nhất 5 giây, tốt nhất là nhiều hơn trong câu trả lời (đây là một sự khích lệ, không phải là một yêu cầu). (Tất nhiên, một liên kết đến TIO hoặc tương tự cũng vậy: D)
- Khung, trục, đường lưới vv được chấp nhận.
6 giờ 5
15 giờ 30
r,g,y,b,
vv ngắn hơn trong một số ngôn ngữ.
drawnow
khi tôi thực hiện điều này trong MATLAB, vì kết quả quá chậm. Tôi nghĩ câu trả lời phải là: Nếu đó là một lựa chọn thiết kế mà trình thông dịch có độ phân giải thời gian tối thiểu cố định> = 25 ms thì không sao. Nếu đó là do triển khai kém / đơn giản, một trình thông dịch trực tuyến bị quá tải / chậm, v.v. thì không ổn.