Мета цього виклику - створити версію ASCII обкладинки цього чудового альбому рок-групи Pink Floyd.
Цегляні стики виготовлені з символів _
і |
. Цегли мають ширину 7 та висоту 2 символи, виключаючи стики. Отже, базовою одиницею, включаючи переходи, є:
_________
| |
| |
_________
Кожен ряд цегли зміщується на половину ширини цегли (4 символи) щодо попереднього ряду:
________________________________________
| | | | |
| | | | |
________________________________________
| | | | |
| | | | |
________________________________________
| | | | |
| | | | |
Стіна параметризується наступним чином. Всі параметри вимірюються символами, включаючи переходи:
- Горизонтальне зміщення першого ряду,
F
. Це відстань між лівим полем та першим вертикальним стиком найвищого ряду. (Згадайте також відносне зміщення напівцеглини між рядками). Його можливі значення0
,1
, ...,7
. - Загальна ширина ,
W
. Сюди входять переходи. Його значення - натуральне число. - Загальна висота ,
H
. Сюди входять переходи. Його значення - натуральне число.
Верхівка стіни завжди збігається з верхом ряду. Дно може бути нерівним (якщо загальна висота не кратна 3
). Наприклад, ось вихід для 6
, 44
, 11
:
____________________________________________
| | | | |
| | | | |
____________________________________________
| | | | | |
| | | | | |
____________________________________________
| | | | |
| | | | |
____________________________________________
| | | | | |
і наочне пояснення параметрів:
F=6
......
. ____________________________________________
. | | | | |
. | | | | |
. ____________________________________________
. | | | | | |
H=11 . | | | | | |
. ____________________________________________
. | | | | |
. | | | | |
. ____________________________________________
. | | | | | |
............................................
W=44
Додаткові правила
Ви можете надати програму або функцію.
Формат введення гнучки, як зазвичай. Вихід може бути через STDOUT або аргумент, повернутий функцією. У цьому випадку це може бути рядок з новими рядками або масив рядків.
Дозволені пробіли або нові рядки.
Виграє найкоротший код у байтах.
Тестові справи
Введення в порядку, наведеному вище, тобто горизонтальне зміщення першого ряду, загальна ширина, загальна висота.
6, 44, 11:
____________________________________________
| | | | |
| | | | |
____________________________________________
| | | | | |
| | | | | |
____________________________________________
| | | | |
| | | | |
____________________________________________
| | | | | |
2, 20, 10:
____________________
| | |
| | |
____________________
| |
| |
____________________
| | |
| | |
____________________
1, 1, 1:
_
1, 2, 3:
__
|
|
3, 80, 21:
________________________________________________________________________________
| | | | | | | | | |
| | | | | | | | | |
________________________________________________________________________________
| | | | | | | | | |
| | | | | | | | | |
________________________________________________________________________________
| | | | | | | | | |
| | | | | | | | | |
________________________________________________________________________________
| | | | | | | | | |
| | | | | | | | | |
________________________________________________________________________________
| | | | | | | | | |
| | | | | | | | | |
________________________________________________________________________________
| | | | | | | | | |
| | | | | | | | | |
________________________________________________________________________________
| | | | | | | | | |
| | | | | | | | | |