#ASCII Art of the Day Series My new found love for ASCII art has lead me to a lot of good (trivial and non-trivial) ideas for ASCII ART challenges. Here are the ideas : [***1. Double Knot***][1] --- ***2. Flow Snake*** I came across this really nice snow-flake like ASCII fractal by Michael Naylor <sup>[citation needed but not found]</sup>. Just like a fractal, it grows exponentially in size with each order. Below are the details about the construction and the examples for various orders: *Order 1 Flow Snake*: ________ \ \ \____ \ / ____/ *Order 2 Flow Snake*: ________ \ \ ________ \____ \ \ \ / / \____ \____/ / ____ / \ \ \ ____/ ________ \ \ \ / \ \ \ / / ____ \____ \ \/ \ \ \ / / \ \ \____/ / ____ \ / \ / / \/ ________ \/ / \ \ / \____ \____/ / ____/ *Order 3 Flow Snake (reduced in size for feasibility)*: ____ ____ \__ \ \__ \__/ / __ __/ ____ \ \ \ ____ / __ \__ \ \/ / __ \__ \ ____ \ \ \__/ / __ \/ / __/ / __ ____ \__ \ \/ ____ \/ / __/ / __ \ \ \ \__ \__/ / __ \__ \__/ / __ \ \ \ \/ __/ ____ \ \ \__/ ____ \ \ \ \/ / __ / __ \__ \ \/ ____ \__ \ \/ / __ \/ / \ \ \__/ / __ \__ \__/ / __ \ \ \__/ \/ ____ \/ / __/ ____ \ \ \ \/ ____ \__ \__/ / __ \__ \ \/ / __ \__ \ __/ ____ \ \ \__/ / __ \/ / __/ / __ / __ \__ \ \/ ____ \/ / __/ / __ \/ / \/ / __/ / __ \__ \__/ / __ \/ / __/ __/ / __ \ \ \__/ ____ \ \ \__/ / __ / __ \ \ \ \/ ____ \__ \ \/ ____ \/ / \ \ \ \/ / __ \__ \__/ / __ \__ \__/ \/ / __ \/ / __/ ____ \ \ \__/ \ \ \__/ / __ \__ \ \/ \/ \ \ \__/ / __ \/ ____ \/ / \__ \__/ __/ **Construction** Consider the order 1 Flow Snake to be built of 7 edges and 8 vertices (labelled below): 4____5____6 \ \ 3\____2 7\ / 0____1/ Now for each next order, you simply replace the edges with a rotated version of this original order 1 pattern. Use the following 3 rules for replacing the edges: **1** For a horizontal edge, replace it with the original shape as is: ________ \ \ \____ \ / ____/ **2** For a `/` edge (`12` in the above construction), replace it with the following rotated version: / / ____ \ / / \/ / / ___/ **3** For a `\` edge (`34`and `67` above), replace it with the following rotated version: / / ____ \ \ \ \ \ \ \ / \/ So for example, order 2 with vertices from order 1 labelled will look like ________ \ \ ________ \____ \6 \ \ / / \____ \5___/ / ____ / \ \ \ 4___/ ________ \ \ \7 / \ \ \ / / ____ \____ \2 \/ \ \ \ / / \ \ \3___/ / ____ \ / \ / / \/ ________ \/ / \ \ / \____ \1___/ / 0___/ Now for any higher order, you simply break up the current level into edges of lengths 2 and repeat the process. **Challenge** * You have to write a function of a full program that receives a single integer `N` via STDIN/ARGV/function argument or the closest equivalent and prints the order `N` Flow Snake on STDOUT. * There should not be any leading spaces which are not part of the pattern * There should be either no trailing spaces or enough trailing spaces to pad the pattern in a perfect square. * Trailing newline is optional **Fun Facts**: * Flow Snakes is a word play of Snow Flakes, which this pattern resembles for order 2 and above * The Flow and Snakes actually play a part in the pattern as the pattern is made up of a single path flowing throughout. * If you notice carefully, the order 2 (and higher as well) pattern comprises of rotations of order 1 pattern pivoted on the common vertex of the current and the precious edge. **Sandbox notes** Should I make the edge size 1 instead of 2 ? (So that the order 3 example is a valid one and order 1 and 2 are double sized) --- ***3. Random Ants*** This is still a bit hazy but the challenge would involve making random ants out of the following ants: \_/ '-0-' --0-- .-0-. \_/ '-0-' --0-- .-0-. \_/ '-0-' --0-- .-0-. \O/ '-O-' /o\ ^ \O/ '-O-' /o\ ^ \O/ '-O-' /o\ --- ***4. Zodiac Signs*** Given a date (format to be decided), output the corresponding Zodiac sign in ASCII format as shown below: .-. .-. (_ \ / _) Aries- The Ram | | . . '.___.' Taurus- The Bull .' `. : : : : `.___.' ._____. | | Gemini- The Twins | | _|_|_ ' ' .--. / _`. Cancer- The Crab (_) ( ) '. / `--' .--. ( ) Leo- The Lion (_) / (_, _ ' `:--.--. | | |_ Virgo- The Virgin | | | ) | | |/ (J __ ___.' '.___ Libra- The Balance ____________ _ ' `:--.--. | | | Scorpius- The Scorpion | | | | | | .., `---': ... .': Sagittarius- The Archer .' `..' .'`. _ \ /_) Capricorn- The Goat \ /`. \ / ; \/ __.' .-"-._.-"-._.- Aquarius- The Water Bearer .-"-._.-"-._.- `-. .-' Pisces- The Fishes : : --:--:-- : : .-' `-. [1]: http://codegolf.stackexchange.com/questions/50484/draw-an-ascii-double-knot