This innovative approach to teaching Java language and programming uses game design development as the method to applying concepts.
Instead of teaching game design using Java, projects are designed to teach Java in a problem-solving approach that is both a fun and effective. Learning Java with Games introduces the concepts of Java and coding; then uses a project to emphasize those ideas. It does not treat the object-oriented and procedure and loop parts of Java as two separate entities to be covered separately, but interweaves the two concepts so the students get a better picture of what Java is.
After studying a rich set of projects, the book turns to build up a "Three-layer Structure for Games" as an architecture template and a guiding line for designing and developing video games. The proposed three-layer architecture not only merges essential Java object-oriented features but also addresses loosely coupled software architecture.
Chong-wei Xu is Emeritus Professor in the Department of Computer Science at Kennesaw State University, USA. He obtained his master degree from University of Wisconsin-Madison and his Ph.D degree from Michigan State University. His research interests include Parallel Computing, Internet Technology, and Video Game Construction.
1 Java programming and game development: a project HelloWorld 2 Basics of Java programming: a project PrintXmasCard 3 Java operators: a game GuessInt in text 4 UML and its usage: a game WheelFortune in text 5 GUI programming with graphical drawing: a project PaintXmasCard 6 Software components and event handling: projects CalculatorApp and ImageSlider 7 Event driven: a game Anagram in text 8 Event driven with an update-paint chain: a game Blackjack 9 Key control: a game Sudoku 10 Mouse control: a game Agnes 11 Animation programming: a digital clock and an analog clock 12 Merge visualization, event-driven, and animation: a game WheelVideo 13 Animated sprites and collisions: a game Pong 14 Multiple screens: an extension of the game Pong 15 A three-layer software structure for games: a game PongStruTwo 16 Usage of the framework: projects SymBall and Tornado 17 Image sprite and UML state machine: a game Breakout 18 Sound effect and composite class: enriching the game Breakout 19 Dynamically changed sprite's structure: a game Worm 20 Chess-like game: a game Othello 21 An introduction of artificial intelligence: extensions of the game Othello 22 Visualizing array sorting algorithms 23 Animating conversions between binary and decimal 24 Animating binary arithmetic computations Appendix A: References Appendix B: The three-layer software structure for games