This book was a bittersweet experience for me. The book is basically devided into three sections. The first is the basics of C#, the second basics of Game Programming, and the third more advanced C# using OOP methodology.
A quick rundown of the sections:
1: Ultra Simplistic - 2 stars
2: Brilliant! Worth buying the book for 5 stars
3: Rushed, Too Concise, doesnt explain anything and useless- terrible : 1 star
(hence my rating of 3 stars - interger average of these values)
I was glad that I had read C# The Complete Reference by Herb Schildt before reading this book. The first section on programming basics is VERY basic - teaching very beginner concepts such as loops, descisions etc that most people reading this book would already know. As someone who must read a book cover to cover I read all this, resisting the strong temptation to skim to the next section. It provides a simple introduction to C#, but not particularly useful,
The second section concerns itself with game creation using Windows Forms and GDI+. The first example in this section, Paddle Tennis, is quite good, and probably worth buying the book for this one example, if you have never done any windows forms or GDI+ programming in C# before (as I hadnt). On the accompanying CD there are all these application files you need to add to your project, which is not explicitly stated in the book, and left me scratching my head when I entered all the source code, compiled and got about 200 errors. Actually mentioning that these prewritten classes needed to be added would have been of tremendous help.
But these prewritten classes are the downfall of the book. Basically the example teaches you how to display images, initialize a form, override the OnPaint & OnKeyPress methods - but thats it. All the code for collision detection is prewritten for you with only very oblique references to it in the text. I built a version of Pong and Arkanoid from what I learnt from this book, but most of what I learnt came from analyzing the source code on the CD...
Unfortunately its downhill from here. There are about 7 more games in the book however there is a very brief introduction with very vague descriptions of the new features in the games followed by source code (that again uses the prewritten classes) - basically the text doesnt really teach you how the games were made, you have to read the code and work it out.
The final section on OOP is a very condensed coverage of all 77 keywords in the C# language. This section is utterly useless - it describes the entire language in 100 pages - meaning there is a very brief introduction on the topic (such as overloading or constructors) a single example and then its next topic! If I already didnt know the language I would be completely lost...
I said however this was a Dichotomous Book as I believe I would still have bought it knowing what I do now. It is worth it for the middle section, which is excellent. I recommend strongly that you analyze the source code on the cd (and remember to add it to your projects!!!) - this taught me more than the book. The very final part of section 3 goes over the classes in these prewritten functions (attempting to save grace)- but in the style of the latter half of the book is ultra condensed and basically mirrors the code - teaching you no more than the code itself does - there is no reasoning as to why the code is written in that way.
Something must have gone into my head however because within a week of reading I could make fairly complicated Forms/GDI+ applications - the book works for a good introduction.
In conclusion, dont buy it to learn the language (I recommend reading C# the Complete Reference - it is excellent), but buy it if you want to know something about GDI+ and Windows Forms - it teaches this well. Just skip sections 1 and 3 and read section 2 (which is brilliant by the way).