Beginning C++ Game Programming [with Cdrom] by Michael Dawson