Raffaele Cecco là một lập trình viên người sản xuất một số trong những tốt nhất trò chơi video cho ZX Spectrum máy tính vào cuối năm tám mươi. Trong số những người khác, ông đã phát triển Cybernoid và Exolon rất được hoan nghênh .
Raffaele sẽ bước sang tuổi 50 vào ngày 10 tháng 5 năm 2017 . Thử thách này là một cống nhỏ đối với anh ấy, vì những giờ phút hạnh phúc mà nhiều người trong chúng tôi đã dành để chơi những trò chơi tuyệt vời đó, và cho động lực mà họ mang lại.
Các thách thức
Mục đích là để tạo ra một marquee hình chữ nhật lấy cảm hứng từ cái nhìn thấy trong màn hình menu chính của Cybernoid , nhưng trong nghệ thuật ASCII.
Cụ thể, chuỗi "Happy birthday Raffaele Cecco "
(lưu ý không gian cuối cùng) sẽ được hiển thị xoay dọc theo các cạnh của hình chữ nhật 12 × 5, với thời gian tạm dừng liên tục giữa các ảnh chụp nhanh.
Ví dụ: giả sử văn bản được hiển thị theo chiều kim đồng hồ và xoay ngược chiều kim đồng hồ (xem các tùy chọn bên dưới), đây là ba ảnh chụp nhanh liên tiếp của hình chữ nhật:
Happy birthd
a
o y
c
ceC eleaffaR
sau đó
appy birthda
H y
o R
cceC eleaffa
sau đó
ppy birthday
a
H R
a
occeC eleaff
vân vân
Quy tắc
Không có đầu vào sẽ được thực hiện. Đầu ra sẽ thông qua STDOUT hoặc tương đương, hoặc trong một cửa sổ đồ họa.
Đầu ra thực sự nên mô tả xoay văn bản; nghĩa là, mỗi ảnh chụp mới sẽ ghi đè lên ảnh trước để tạo ấn tượng về chuyển động. Điều này có thể được thực hiện bằng bất kỳ phương tiện nào, ví dụ, bằng cách viết số lượng dòng mới phù hợp để xóa màn hình một cách hiệu quả. Có thể chấp nhận nếu điều này chỉ hợp lệ cho một kích thước màn hình nhất định; Chỉ cần xác định nó trong câu trả lời.
Các tùy chọn sau được chấp nhận:
- Văn bản có thể được hiển thị theo chiều kim đồng hồ hoặc ngược chiều kim đồng hồ, và có thể xoay theo chiều kim đồng hồ hoặc ngược chiều kim đồng hồ (ví dụ ảnh chụp nhanh ở trên giả sử hiển thị theo chiều kim đồng hồ và quay ngược chiều kim đồng hồ).
- Việc quay vòng phải diễn ra theo chu kỳ trong một vòng lặp vô hạn (cho đến khi chương trình bị dừng lại) và có thể bắt đầu ở bất kỳ giai đoạn nào.
- Tạm dừng thời gian giữa các ảnh chụp nhanh nên xấp xỉ không đổi, nhưng có thể được tự do lựa chọn trong khoảng từ 0,1 đến 1 giây. Tạm dừng ban đầu trước khi hiển thị ảnh chụp nhanh đầu tiên được chấp nhận.
- Chữ cái có thể là chữ hoa, chữ thường hoặc chữ thường (như trong ví dụ trên).
- Không gian trống hàng đầu hoặc dấu được cho phép.
Các chương trình hoặc chức năng được cho phép, trong bất kỳ ngôn ngữ lập trình . Sơ hở tiêu chuẩn bị cấm.
Nếu có thể, vui lòng cung cấp tệp gif hiển thị đầu ra hoặc liên kết để kiểm tra chương trình.
Mã ngắn nhất trong byte thắng.