A Modern Day '101 Basic Computer Games'?
pcraven asks: "Back when I learned how to program, I found a book called 101 Basic Computer Games by David H. Ahl. This book had a lot of simple programs that I could type into the Apple //e. It made programming interesting. I'm not sure I would have started a career in programming without it. Today I haven't found any recent equivalent to this book. I want a bunch of sample computer games that students can program that they will find fun and interesting. Something that a CompSci 101 graduate could type in and run. Does anyone know of a book or web site like this?"
Let's see...
And then you say you're looking for...
I still have my copy of 101 Basic Computer Games which I went out and bought with allowance money when I was twelve. The only game in there which might have been a bit over-the-top for someone that young was Star Trek (for sheer length), but I was already a Trekkie by then, so I typed every last line of code in so I could play it.
I guess my question is, Are you looking for something on the level of 101 Basic Computer Games, or are you looking for something appropriate for college students?
As an aside...
Those of you who are saying that typing in the game doesn't teach you anything, I'd like to offer myself as a counter-example. After I played 2-3 games of Star Trek, the very next thing I did was to go into the code and add a "self-destruct" option to the library computer. I made sure it asked you for all three of the codes, too.
Then, I decided that wasn't good enough. I played with nested for loops and the locate statement to display a 30-second countdown in (approximately) real-time. I made use of my rather limited understanding of graphics to try and show the Enterprise exploding when the counter reached zero (very crude, but it got the idea across). Then, I wanted to let the player change his/her mind, so I learned how to use inkey$ so the player could abort the countdown (at 5 seconds, though, it was too late (Oh, and you needed to know the abort code)).
I still keep Star Trek on my hard drive, although currently it's written in Java. Every time I want to learn a new language, I use Star Trek as a measuring rod: if I can successfully re-implement it in the target language, it means I've got all the fundamentals down. Next up: Python.