Thinking in C++ is available for free on the internet and is pretty good. You should definitely tackle general programming before looking at game programming, since there is a lot of overhead that can make things harder if you dive into the game side of things first.
|