LEADER 05742nam 22006255 450 001 9910357846903321 005 20200704065415.0 010 $a3-662-59252-5 024 7 $a10.1007/978-3-662-59252-6 035 $a(CKB)4100000009844993 035 $a(DE-He213)978-3-662-59252-6 035 $a(MiAaPQ)EBC5982927 035 $a(PPN)260304379 035 $a(EXLCZ)994100000009844993 100 $a20191121d2019 u| 0 101 0 $aeng 135 $aurnn|008mamaa 181 $ctxt$2rdacontent 182 $cc$2rdamedia 183 $acr$2rdacarrier 200 10$aLearning C# by Programming Games /$fby Wouter van Toll, Arjan Egges, Jeroen D. Fokker 205 $a2nd ed. 2019. 210 1$aBerlin, Heidelberg :$cSpringer Berlin Heidelberg :$cImprint: Springer,$d2019. 215 $a1 online resource (XXVI, 512 p. 66 illus., 34 illus. in color.) 300 $aIncludes index. 311 $a3-662-59251-7 327 $a1 Building Your First Game Application -- 2 What Is Programming? -- 3 Game Programming Basics -- 4 Creating a Game World -- 5 Showing what the Player is Doing -- 6 Reacting to Player Input -- 7 Basic Game Objects -- 8 Communication and Interaction Between Objects -- 9 A Limited Number of Lives -- 10 Organizing Game Objects -- 11 Finishing the Game -- 12 Dealing with Different Screen Sizes -- 13 Arrays and Collections -- 14 Game Objects in a Structure -- 15 Gameplay Programming -- 16 Finishing the Game -- 17 Better Game State Management -- 18 User Interfaces and Menus -- 19 Loading Levels from Files -- 20 Gameplay Programming -- 21 Finishing the Game -- 22 Creating the Main Game Structure -- 23 Animated Game Objects -- 24 Game Physics -- 25 Intelligent Enemies -- 26 Finishing the Game. 330 $aDeveloping computer games is a perfect way to learn how to program in modern programming languages. This book teaches how to program in C# through the creation of computer games ? and without requiring any previous programming experience. Contrary to most programming books, van Toll, Egges, and Fokker do not organize the presentation according to programming language constructs, but instead use the structure and elements of computer games as a framework. For instance, there are chapters on dealing with player input, game objects, game worlds, game states, levels, animation, physics, and intelligence. The reader will be guided through the development of four games showing the various aspects of game development. Starting with a simple shooting game, the authors move on to puzzle games consisting of multiple levels, and conclude the book by developing a full-fledged platform game with animation, game physics, and intelligent enemies. They show a number of commonly used techniques in games, such as drawing layers of sprites, rotating, scaling and animating sprites, dealing with physics, handling interaction between game objects, and creating pleasing visual effects. At the same time, they provide a thorough introduction to C# and object-oriented programming, introducing step by step important programming concepts such as loops, methods, classes, collections, and exception handling. This second edition includes a few notable updates. First of all, the book and all example programs are now based on the library MonoGame 3.6, instead of the obsolete XNA Game Studio. Second, instead of explaining how the example programs work, the text now invites readers to write these programs themselves, with clearly marked reference points throughout the text. Third, the book now makes a clearer distinction between general (C#) programming concepts and concepts that are specific to game development. Fourth, the most important programming concepts are now summarized in convenient ?Quick Reference? boxes, which replace the syntax diagrams of the first edition. Finally, the updated exercises are now grouped per chapter and can be found at the end of each chapter, allowing readers to test their knowledge more directly. The book is also designed to be used as a basis for a game-oriented programming course. Supplementary materials for organizing such a course are available on an accompanying web site, which also includes all example programs, game sprites, sounds, and the solutions to all exercises. 606 $aComputer programming 606 $aProgramming languages (Electronic computers) 606 $aMicrocomputers 606 $aMultimedia systems 606 $aProgramming Techniques$3https://scigraph.springernature.com/ontologies/product-market-codes/I14010 606 $aProgramming Languages, Compilers, Interpreters$3https://scigraph.springernature.com/ontologies/product-market-codes/I14037 606 $aPersonal Computing$3https://scigraph.springernature.com/ontologies/product-market-codes/I24083 606 $aMultimedia Information Systems$3https://scigraph.springernature.com/ontologies/product-market-codes/I18059 615 0$aComputer programming. 615 0$aProgramming languages (Electronic computers) 615 0$aMicrocomputers. 615 0$aMultimedia systems. 615 14$aProgramming Techniques. 615 24$aProgramming Languages, Compilers, Interpreters. 615 24$aPersonal Computing. 615 24$aMultimedia Information Systems. 676 $a005.133 700 $avan Toll$b Wouter$4aut$4http://id.loc.gov/vocabulary/relators/aut$01060353 702 $aEgges$b Arjan$4aut$4http://id.loc.gov/vocabulary/relators/aut 702 $aFokker$b Jeroen D$4aut$4http://id.loc.gov/vocabulary/relators/aut 801 0$bMiAaPQ 801 1$bMiAaPQ 801 2$bMiAaPQ 906 $aBOOK 912 $a9910357846903321 996 $aLearning C# by Programming Games$92512598 997 $aUNINA