Per questa sfida, una trapunta d'arte ASCII sarà un blocco di testo di 24 caratteri di larghezza e 18 righe di altezza, contenente i caratteri =-<>/\
in un modello a trapunta che è simmetrico in orizzontale e in verticale.
Esempio di trapunta:
========================
------------------------
//\\//\\\//\/\\///\\//\\
<<><<>>>>><<>><<<<<>><>>
/\\/\\\\/\/\/\/\////\//\
------------------------
/\/////\\///\\\//\\\\\/\
\///\/\/\\\\////\/\/\\\/
\///\/\/\\\\////\/\/\\\/
/\\\/\/\////\\\\/\/\///\
/\\\/\/\////\\\\/\/\///\
\/\\\\\//\\\///\\/////\/
------------------------
\//\////\/\/\/\/\\\\/\\/
<<><<>>>>><<>><<<<<>><>>
\\//\\///\\/\//\\\//\\//
------------------------
========================
Tutte le trapunte hanno la stessa forma:
- Sono sempre 24 per 18.
- La linea superiore (linea 1) e la linea inferiore (linea 18) sono
=
completamente trasversali. - Le linee 2, 6, 13 e 17 sono
-
completamente trasversali. - Le linee 4 e 15 sono lo stesso modello casuale simmetrico orizzontale di
<
e>
. - Tutte le altre linee (3, 5, 7, 8, 9, 10, 11, 12, 14, 16) sono riempite
/
e\
in modo completamente casuale in modo che l'intera trapunta rimanga simmetrica orizzontalmente e verticalmente .
Si noti che quando si piega la trapunta esattamente a metà, sia in verticale che in orizzontale, le forme dei personaggi corrispondono esattamente. Non confonderlo con i personaggi stessi abbinati. ad esempio la linea 3 e la linea 16 non lo sono identiche, sono immagini speculari verticali.
Sfida
Scrivi un programma o una funzione che stamperà o restituirà una trapunta artistica ASCII casuale.
A causa delle molte linee codificate e della simmetria, l'unica vera casualità proviene dai primi 12 caratteri sulle linee 3, 4, 5, 7, 8, 9:
- I primi 12 caratteri nella riga 4 dovrebbero essere in grado di contenere qualsiasi stringa di lunghezza 12 dei caratteri
<
e>
. - I primi 12 caratteri nelle righe 3, 5, 7, 8, 9 dovrebbero essere in grado di essere qualsiasi stringa di lunghezza 12 dei caratteri
/
e\
(indipendentemente l'uno dall'altro). - Queste stringhe casuali vengono quindi rispecchiate di conseguenza per creare l'intera trapunta.
Vince la risposta più breve in byte. Tiebreaker è post precedente.
È possibile utilizzare generatori di numeri pseudocasuali. (No, non è necessario dimostrare che tutte e 12 le stringhe di caratteri di <>
o /\
possano essere generate con il PRNG della tua lingua.)
L'output può contenere facoltativamente una nuova riga finale, ma nessun spazio finale o altri caratteri oltre a quello necessario per la trapunta.