ASCII Pachinko
Why?
It began innocently enough. I had created a simple ASCII animation of a ball moving through a course by hiding and showing various <div> containers with one frame of the animation in each. Pretty simple stuff.
Perhaps too simple. It just made sense to build a custom JavaScript class that would allow me to "draw" a course in ASCII-art fashion and send a ball careening through it programmatically. How cool would that be?!
Ugh!
So I set off to create the world's first ASCII Pachinko game (well, Google yielded nothing similar). I had visions of tremendous glory and the ovation of both the JavaScript and ASCII-art community at large. But I almost immediately hit a familiar roadblock. I was unable to use setInterval() to call my custom object's animate() method. setInterval() [and setTimeout()] are crucial functions for creating scripted animation on web pages. So I began my search... and as if by divine intervention, Google gave me a link to this set of functions. (Thank you Bob Clary!)
Problem solved! The rest was pretty standard fair. Blah blah blah. The end.
(Windows Users: ClearType font smoothing slows this down significantly. Use either Standard font smoothing or none for better performance.)
_______________________________________
| __/ \__ |
| _/ . . . . \_ |
| / . . \ / / \ \ / . . \ |
| / . . . v / _/ \_ \ v . . . \ |
|/ . . . . . . . . . . . . \|
| . . . . . _/ ^ \_ . . . . . |
| \ / \ /\ _/ \_ /\ / \ / |
| v v ^ ^ v v |
| . . . . . ^WIN^ . . . . . |
| . . . . . . ^X^ . . . . . . |
| . . . . . . . . . . . . . |
| \v/ | | . . | | \v/ |
| . . / / \ . / \ \ . . |
|\ . . . v v . . . /|
| \ . . . . . . . . / |
| \_ . . . . . . _/ |
| \__ __/ |
| \____ ____/ |
| \ ___________ / |
| __/ \__ |
| \________ ________/ |
| A S C I I __\__ \____________ |
| P A C H I N K O \_________________ \ |
|___________________________________\ \_|
/ _________________|
/ ^ \
/ ^ ^ \
/ / ^ \ \
/ / ^ ^ \ \
/ / ^ ^ ^ \ \
/ / ^ ^ ^ ^ \ \
/ / ^ ^ ^ ^ ^ \ \
| _ |
| / \ |
| / \ |
| /\ \ / /\ |
| / \ \_/ / \ |
| | \ / | |
\ \ \ / / /|
\ \ | | / / |
/ / _| |_ \ \ |
/ / | ____| \ \|
/ / |____ | \ \
| |__| ____|__| |
|___ |____ | ___|
| | ____| | |
/ /|_ _|\ \ |
| | | | | | |
/ ^ ^ ^ \|
|__ ___ __||
| | | | |
___| \_/ |___|
| __________ |
|_____ \_ |
\ ______|
\ /
\ /
| |
| |
\ \__
\__ \
\ \
| |
__/ /
/ __/
/ /
| |
\ \__
/ .__ \
__/ / \ \
/ __/ | |
/ / __/ /
| | / __. \
__/ / / / \ \__
/ __/ | | \__ \
/ / \ \__ \ \
| | \__ \ | |
\ \__ \ \ \ \__
__/ .__ \ | | \__ \
/ __/ \ \ __\ \ \ \
/ / | | / __. \__ | |
| | __/ / / / \__ \ \ \__
/ / / __/ | | \ \ \__ \
/ / / / / / | | \ \
X X X X X