Für diese Herausforderung besteht ein ASCII-Quilt aus einem Textblock mit einer Breite von 24 Zeichen und einer Höhe von 18 Zeilen, der die Zeichen =-<>/\
in einem quiltartigen Muster enthält, das horizontal und vertikal symmetrisch ist.
Beispiel Quilt:
========================
------------------------
//\\//\\\//\/\\///\\//\\
<<><<>>>>><<>><<<<<>><>>
/\\/\\\\/\/\/\/\////\//\
------------------------
/\/////\\///\\\//\\\\\/\
\///\/\/\\\\////\/\/\\\/
\///\/\/\\\\////\/\/\\\/
/\\\/\/\////\\\\/\/\///\
/\\\/\/\////\\\\/\/\///\
\/\\\\\//\\\///\\/////\/
------------------------
\//\////\/\/\/\/\\\\/\\/
<<><<>>>>><<>><<<<<>><>>
\\//\\///\\/\//\\\//\\//
------------------------
========================
Alle Quilts haben die gleiche Form:
- Sie sind immer 24 mal 18.
- Die oberste Zeile (Zeile 1) und die unterste Zeile (Zeile 18) sind
=
durchgehend. - Die Zeilen 2, 6, 13 und 17 sind
-
durchgehend. - Die Zeilen 4 und 15 sind das gleiche zufällige horizontal symmetrische Muster von
<
und>
. - Alle anderen Leitungen (3, 5, 7, 8, 9, 10, 11, 12, 14, 16) mit gefüllt
/
und\
in einer völlig zufälligen Art und Weise , so dass die gesamte Bettdecke bleibt horizontal und vertikal symmetrisch .
Beachten Sie, dass die Formen der Zeichen genau übereinstimmen , wenn Sie die Steppdecke vertikal oder horizontal genau zur Hälfte falten . Verwechseln Sie dies nicht mit den übereinstimmenden Charakteren. zb zeile 3 und zeile 16 sind nicht identisch, sie sind vertikale spiegelbilder.
Herausforderung
Schreiben Sie ein Programm oder eine Funktion, die einen zufälligen ASCII-Quilt ausgibt oder zurückgibt.
Aufgrund der vielen fest codierten Zeilen und der Symmetrie kommt die einzige echte Zufälligkeit aus den ersten 12 Zeichen in den Zeilen 3, 4, 5, 7, 8, 9:
- Die ersten 12 Zeichen in Zeile 4 sollten eine beliebige Länge von 12 Zeichen
<
und haben>
. - Die ersten 12 Zeichen in den Zeilen 3, 5, 7, 8, 9 sollten 12 Zeichen lang
/
und\
(unabhängig voneinander) sein. - Diese zufälligen Zeichenfolgen werden dann entsprechend gespiegelt, um den gesamten Quilt zu erstellen.
Die kürzeste Antwort in Bytes gewinnt. Tiebreaker ist früherer Beitrag.
Sie können Pseudozufallszahlengeneratoren verwenden. (Nein, Sie brauchen nicht zu beweisen , dass alle 12 Zeichen String <>
oder /\
erzeugt werden kann , mit Ihnen die Sprache des PRNG.)
Die Ausgabe kann optional einen abschließenden Zeilenumbruch enthalten, jedoch keine abschließenden Leerzeichen oder andere Zeichen außer dem, was für den Quilt erforderlich ist.