Mục đích của thử thách này là sản xuất một phiên bản ASCII của bìa album tuyệt vời này của ban nhạc rock Pink Floyd.
Các mối nối gạch được làm bằng các ký tự _
và |
. Gạch có chiều rộng 7 và chiều cao 2 ký tự, không bao gồm các mối nối. Vì vậy, đơn vị cơ bản, bao gồm các nút giao, là:
_________
| |
| |
_________
Mỗi hàng gạch được bù bằng một nửa chiều rộng gạch (4 ký tự) so với hàng trước:
________________________________________
| | | | |
| | | | |
________________________________________
| | | | |
| | | | |
________________________________________
| | | | |
| | | | |
Bức tường được tham số hóa như sau. Tất cả các tham số được đo bằng ký tự bao gồm các mối nối:
- Bù ngang của hàng đầu tiên ,
F
. Đây là khoảng cách giữa lề trái và đường giao nhau dọc đầu tiên của hàng trên cùng. (Cũng nhớ phần bù tương đối nửa viên gạch giữa các hàng). Giá trị có thể của nó là0
,1
, ...,7
. - Tổng chiều rộng ,
W
. Điều này bao gồm các mối nối. Giá trị của nó là một số nguyên dương. - Tổng chiều cao ,
H
. Điều này bao gồm các mối nối. Giá trị của nó là một số nguyên dương.
Đỉnh của bức tường luôn trùng với đỉnh của một hàng. Đáy có thể bị rách (nếu tổng chiều cao không phải là bội số của 3
). Ví dụ, đây là đầu ra cho 6
, 44
, 11
:
____________________________________________
| | | | |
| | | | |
____________________________________________
| | | | | |
| | | | | |
____________________________________________
| | | | |
| | | | |
____________________________________________
| | | | | |
và một lời giải thích trực quan về các tham số:
F=6
......
. ____________________________________________
. | | | | |
. | | | | |
. ____________________________________________
. | | | | | |
H=11 . | | | | | |
. ____________________________________________
. | | | | |
. | | | | |
. ____________________________________________
. | | | | | |
............................................
W=44
Quy tắc bổ sung
Bạn có thể cung cấp một chương trình hoặc một chức năng.
Định dạng đầu vào linh hoạt như bình thường. Đầu ra có thể thông qua STDOUT hoặc một đối số được trả về bởi một hàm. Trong trường hợp này, nó có thể là một chuỗi với dòng mới hoặc một chuỗi các chuỗi.
Không gian lưu trữ hoặc dòng mới được cho phép.
Mã ngắn nhất trong byte thắng.
Các trường hợp thử nghiệm
Các đầu vào theo thứ tự được đưa ra ở trên, đó là: bù ngang của hàng đầu tiên, tổng chiều rộng, tổng chiều cao.
6, 44, 11:
____________________________________________
| | | | |
| | | | |
____________________________________________
| | | | | |
| | | | | |
____________________________________________
| | | | |
| | | | |
____________________________________________
| | | | | |
2, 20, 10:
____________________
| | |
| | |
____________________
| |
| |
____________________
| | |
| | |
____________________
1, 1, 1:
_
1, 2, 3:
__
|
|
3, 80, 21:
________________________________________________________________________________
| | | | | | | | | |
| | | | | | | | | |
________________________________________________________________________________
| | | | | | | | | |
| | | | | | | | | |
________________________________________________________________________________
| | | | | | | | | |
| | | | | | | | | |
________________________________________________________________________________
| | | | | | | | | |
| | | | | | | | | |
________________________________________________________________________________
| | | | | | | | | |
| | | | | | | | | |
________________________________________________________________________________
| | | | | | | | | |
| | | | | | | | | |
________________________________________________________________________________
| | | | | | | | | |
| | | | | | | | | |