Tujuan dari tantangan ini adalah untuk menghasilkan versi ASCII dari sampul album hebat ini oleh band rock Pink Floyd.
Persimpangan bata terbuat dari karakter _
dan |
. Batu bata memiliki lebar 7 dan tinggi 2 karakter, tidak termasuk persimpangan. Jadi unit dasar, termasuk persimpangan, adalah:
_________
| |
| |
_________
Setiap baris bata diimbangi oleh setengah lebar bata (4 karakter) sehubungan dengan baris sebelumnya:
________________________________________
| | | | |
| | | | |
________________________________________
| | | | |
| | | | |
________________________________________
| | | | |
| | | | |
Dinding parameter sebagai berikut. Semua parameter diukur dalam karakter termasuk persimpangan:
- Offset horizontal baris pertama
F
,. Ini adalah jarak antara margin kiri dan persimpangan vertikal pertama dari baris paling atas. (Ingat juga offset relatif setengah bata di antara baris). Mungkin nilai-nilainya yang0
,1
, ...,7
. - Total lebar ,
W
. Ini termasuk persimpangan. Nilainya adalah bilangan bulat positif. - Jumlah tinggi ,
H
. Ini termasuk persimpangan. Nilainya adalah bilangan bulat positif.
Bagian atas dinding selalu bertepatan dengan bagian atas baris. Bagian bawah mungkin kasar (jika tinggi total bukan kelipatan 3
). Sebagai contoh, inilah output untuk 6
, 44
, 11
:
____________________________________________
| | | | |
| | | | |
____________________________________________
| | | | | |
| | | | | |
____________________________________________
| | | | |
| | | | |
____________________________________________
| | | | | |
dan penjelasan visual parameter:
F=6
......
. ____________________________________________
. | | | | |
. | | | | |
. ____________________________________________
. | | | | | |
H=11 . | | | | | |
. ____________________________________________
. | | | | |
. | | | | |
. ____________________________________________
. | | | | | |
............................................
W=44
Aturan tambahan
Anda dapat menyediakan program atau fungsi.
Format input fleksibel seperti biasa. Output dapat melalui STDOUT atau argumen yang dikembalikan oleh suatu fungsi. Dalam hal ini mungkin string dengan baris baru atau array string.
Ruang tambahan atau baris baru diizinkan.
Kode terpendek dalam byte menang.
Uji kasus
Input dalam urutan yang diberikan di atas, yaitu: offset horizontal baris pertama, total lebar, tinggi total.
6, 44, 11:
____________________________________________
| | | | |
| | | | |
____________________________________________
| | | | | |
| | | | | |
____________________________________________
| | | | |
| | | | |
____________________________________________
| | | | | |
2, 20, 10:
____________________
| | |
| | |
____________________
| |
| |
____________________
| | |
| | |
____________________
1, 1, 1:
_
1, 2, 3:
__
|
|
3, 80, 21:
________________________________________________________________________________
| | | | | | | | | |
| | | | | | | | | |
________________________________________________________________________________
| | | | | | | | | |
| | | | | | | | | |
________________________________________________________________________________
| | | | | | | | | |
| | | | | | | | | |
________________________________________________________________________________
| | | | | | | | | |
| | | | | | | | | |
________________________________________________________________________________
| | | | | | | | | |
| | | | | | | | | |
________________________________________________________________________________
| | | | | | | | | |
| | | | | | | | | |
________________________________________________________________________________
| | | | | | | | | |
| | | | | | | | | |