Diamond Sky
This piece is based on Project 16 - Diamonds from my free programming book, The Big Book of Small Python Projects for creating ASCII art diamonds of various sizes. I made Diamond Sky before I created Full of Squares but they share similar styles.
This is the first piece where the code has a rows
array that contains the next few rows to display. If the program randomly generates a diamond that is 12 rows high, the rows
array is expanded to fit the next 12 rows. This form of scroll art, which I call row buffer, is a bit more advanced than the Wallpaper style of a repeating static pattern, and I feel the effect is much more interesting to view.