Untuk tantangan ini, selimut seni ASCII akan menjadi blok teks dengan lebar 24 karakter dan tinggi 18 baris, berisi karakter =-<>/\
dalam pola seperti selimut yang simetris secara horizontal dan vertikal.
Contoh selimut:
========================
------------------------
//\\//\\\//\/\\///\\//\\
<<><<>>>>><<>><<<<<>><>>
/\\/\\\\/\/\/\/\////\//\
------------------------
/\/////\\///\\\//\\\\\/\
\///\/\/\\\\////\/\/\\\/
\///\/\/\\\\////\/\/\\\/
/\\\/\/\////\\\\/\/\///\
/\\\/\/\////\\\\/\/\///\
\/\\\\\//\\\///\\/////\/
------------------------
\//\////\/\/\/\/\\\\/\\/
<<><<>>>>><<>><<<<<>><>>
\\//\\///\\/\//\\\//\\//
------------------------
========================
Semua selimut memiliki bentuk yang sama:
- Mereka selalu 24 oleh 18.
- Garis atas (baris 1) dan garis bawah (baris 18)
=
semuanya berada di seberang. - Garis 2, 6, 13 dan 17
-
semuanya ada di seberang. - Baris 4 dan 15 adalah acak yang sama secara horizontal simetris pola
<
dan>
. - Semua baris lainnya (3, 5, 7, 8, 9, 10, 11, 12, 14, 16) diisi dengan
/
dan dengan\
cara yang benar-benar acak sehingga seluruh selimut tetap simetris secara horizontal dan vertikal .
Perhatikan bahwa ketika melipat selimut menjadi dua, baik secara vertikal maupun horizontal, bentuk karakternya benar-benar cocok. Jangan bingung dengan karakter yang cocok. misal jalur 3 dan jalur 16 tidak identik, mereka adalah gambar cermin vertikal.
Tantangan
Tulis program atau fungsi yang akan mencetak atau mengembalikan selimut seni ASCII acak.
Karena banyak garis yang dikodekan dan simetri, satu-satunya keacakan nyata berasal dari 12 karakter pertama pada baris 3, 4, 5, 7, 8, 9:
- 12 karakter pertama pada baris 4 harus bisa sepanjang 12 string karakter
<
dan>
. - 12 karakter pertama pada baris 3, 5, 7, 8, 9 harus bisa sepanjang 12 string karakter
/
dan\
(tidak tergantung satu sama lain). - String acak ini kemudian dicerminkan sesuai untuk membuat seluruh selimut.
Jawaban terpendek dalam byte menang. Tiebreaker adalah posting sebelumnya.
Anda dapat menggunakan generator nomor pseudorandom. (Tidak, Anda tidak perlu membuktikan bahwa ke- 12 string char <>
atau /\
dapat dihasilkan dengan PRNG bahasa Anda.)
Output secara opsional dapat berisi baris tambahan, tetapi tidak ada spasi tambahan atau karakter lain selain yang diperlukan untuk quilt.