Pour ce défi, une courtepointe art ASCII sera un bloc de texte de 24 caractères de large et 18 lignes de haut, contenant les caractères =-<>/\
dans un motif semblable à une courtepointe qui est horizontalement et verticalement symétrique.
Exemple de courtepointe:
========================
------------------------
//\\//\\\//\/\\///\\//\\
<<><<>>>>><<>><<<<<>><>>
/\\/\\\\/\/\/\/\////\//\
------------------------
/\/////\\///\\\//\\\\\/\
\///\/\/\\\\////\/\/\\\/
\///\/\/\\\\////\/\/\\\/
/\\\/\/\////\\\\/\/\///\
/\\\/\/\////\\\\/\/\///\
\/\\\\\//\\\///\\/////\/
------------------------
\//\////\/\/\/\/\\\\/\\/
<<><<>>>>><<>><<<<<>><>>
\\//\\///\\/\//\\\//\\//
------------------------
========================
Toutes les courtepointes ont la même forme:
- Ils sont toujours 24 par 18.
- La ligne du haut (ligne 1) et la ligne du bas (ligne 18) sont
=
tout au long. - Les lignes 2, 6, 13 et 17 sont
-
tout le chemin à travers. - Les lignes 4 et 15 sont le même motif aléatoire symétrique horizontalement de
<
et>
. - Toutes les autres lignes (3, 5, 7, 8, 9, 10, 11, 12, 14, 16) sont remplies
/
et\
d'une manière complètement aléatoire de telle sorte que la courtepointe entière reste horizontalement et verticalement symétrique .
Notez que lorsque vous pliez la courtepointe exactement en deux, verticalement ou horizontalement, les formes des caractères correspondent exactement. Ne confondez pas cela avec les personnages eux-mêmes qui correspondent. par exemple, la ligne 3 et la ligne 16 ne sont pas identiques, ce sont des images miroir verticales.
Défi
Écrivez un programme ou une fonction qui imprimera ou retournera une courtepointe art ASCII aléatoire.
En raison des nombreuses lignes codées en dur et de la symétrie, le seul véritable caractère aléatoire provient des 12 premiers caractères des lignes 3, 4, 5, 7, 8, 9:
- Les 12 premiers caractères de la ligne 4 doivent pouvoir être n'importe quelle chaîne de longueur 12 des caractères
<
et>
. - Les 12 premiers caractères des lignes 3, 5, 7, 8, 9 doivent pouvoir être n'importe quelle chaîne de 12 caractères
/
et\
(indépendamment les uns des autres). - Ces chaînes aléatoires sont ensuite reflétées en conséquence pour créer l'intégralité de la courtepointe.
La réponse la plus courte en octets l'emporte. Tiebreaker est un post antérieur.
Vous pouvez utiliser des générateurs de nombres pseudo-aléatoires. (Non, vous n'avez pas besoin de prouver que les 12 caractères de <>
ou /\
peuvent être générés avec le PRNG de votre langue.)
La sortie peut éventuellement contenir une nouvelle ligne de fin, mais pas d'espaces de fin ni d'autres caractères en plus de ce qui est nécessaire pour la courtepointe.