What about typing it in? I don't know how to start.
I found a tetris tutorial. I tried going over it and typing it in line by line and looking up a fair amount of what I saw.
I still don't have it fully functional, but it works somewhat.
I understand the structure of a Windows application a little better, and it familiarized me with with basic collision detection...
I still have a ways to go on comprehending the whole file.
Is this a worthwhile approach or is there another way that is more effective?
reading someone else's code is ok for getting the gist of what is going on. However, just retyping it, using the copy function, ect is not ok. I can guarantee you that you won't learn anything until you take the principles from what they are solving and apply it to your problem.
For example
OK
I'm writing a pac-man clone. There is a tutorial for a tetris clone. thats how they start up the SDL, I should start it up similarly.
NOT OK
I'm writing a pac-man clone. There is a tutorial for a pac-man clone. I'll copy what they did and see what I'll learn from it.
Seriously, I've gone down the second path before in the exact same pursuit. I didn't learn a single thing from it. When things broke (IE I didn't write the exact same code) I was lost on how it was broken or how to fix it. Even after I finished it, I could not reproduce the results if I wanted to.
It wasn't until I took the "I'm going to do this my way" approach that the exact same tutorial (nehe if you are wondering) suddenly made a whole heck of a lot more sense. All the sudden I knew how to use glBegin() correctly. It is really quite a magical thing.
So don't get me wrong, I'm not trying to discourage you from reading others code. That can be really invaluable. What I'm trying to discourage is writing or copying others code. That is really counter productive. You'll end up with a big mass of code which you don't fully understand (not a good thing when you are supposed to be the one the writes it all).
It may be harder to do, but it is worth it for the learning aspect.