This repo contains the original QBasic scripts I wrote in highschool when first learning how to make things come to life on a computer. The code is a mess: very few functions, terrible naming conventions, no comments and no source control. However, it still brings me fond memories ;-)
I first learned to program in Mr. Bredder's class "Computer Programming and Problem Solving" in my sophomore year at West Morris Mendham High School.
It was my second-choice for an elective, the first being the machine shop class, however it quickly became my favorite class ever. The class featured math problems that could be automated by computer. It started with simple algebra problems, and eventually got to geometry and fractals. However, I spent most of my time reading the QBasic help menu, and then making games or visualizations.
The first game that was any good was call TANK. I based it off the game Scorched Earth that I enjoyed playing with friends. It featured a varied terrain, turn-based multi-player, and terrible physics. I didn't know how to do a ballistic trajectory, so I just made up what looked reasonable by solving the coefficients of a parabola given input angle and power. This lead to a funny bug where players could "laser" across the map by using a low angle. I tried to ask my math teacher for help, but he said I needed calculus.
Luckily, I befriended a junior named Jeff Kaplan, who taught me about euler integration for velocity and position... and thus TANKS2 was born. TANKS2 was real-time multi-player, and featured bouncing balls. I got the bouncing working by computing the analytical derivative of the terrain. I figured all this out on a five-hour car ride from New Jersey to Boston, laptop and Calc book in the back of the car. My friends and I would play the game in the computer lab, sharing the keys on the keyboard to achieve the real-time multiplayer action.
In my junior year, I took the official "Computer Programming" class, which was in C++. The curriculum was not nearly as fun, and so I still spent most of my time making and playing games in QBasic, which we would play in class.
Eventually I visited WPI and met kids with more rigorous programming backgrounds, one of whom scoffed at my mention of QBasic. He derided it as "not real programming" and that hurt my feelings a bit. I definitely had a lot to learn.
At some point it would be nice to get a Qbasic interpreter that works for mac or linux so I can replay these things.