I developed a blackjack game with Hypercard back in high school. Awful graphics but it still played pretty well. Damn thing always managed to beat me, in spite of the fact that I knew exactly how it was making decisions.

Around the same time, I developed a projectile motion program for my physics project. The science teacher was really impressed, even though it was pretty basic. I just threw down a grid with labels, then selected the paintbrush tool and plotted each point in the curve (the dots appeared to be a line because they were very close to each other.