{"product_id":"how-to-write-a-javascript-chess-engine-how-chess-programs-work-paperback","title":"How to Write a JavaScript Chess Engine: How Chess Programs Work - Paperback","description":"\u003cdiv\u003e\u003cp style=\"text-align: right;\"\u003e\u003ca href=\"https:\/\/reportcopyrightinfringement.com\/\" target=\"_blank\" rel=\"nofollow\"\u003e\u003cb\u003eReport copyright infringement\u003c\/b\u003e\u003c\/a\u003e\u003c\/p\u003e\u003c\/div\u003e\u003cp\u003eby \u003cb\u003eFm Bill Jordan\u003c\/b\u003e (Author)\u003c\/p\u003e\u003cp\u003eThere are a number of reasons why you may be interested in how a chess program is written: \u003c\/p\u003e\u003cul\u003e\n\u003cli\u003eYou are learning programming and are interested in learning something different.\u003c\/li\u003e\n\u003cli\u003eYou are a programmer who is interested in developing your programming experience.\u003c\/li\u003e\n\u003cli\u003eYou are a chess enthusiast and would like to improve your chess by learning how chess programs work.\u003c\/li\u003e\n\u003cli\u003eYou are interested in developing a chess program and playing against it.\u003c\/li\u003e\n\u003cli\u003eYou are interested in developing a chess program and having it play other engines.\u003c\/li\u003e\n\u003c\/ul\u003e\u003cp\u003eYou do need to be an expert programmer to understand this book. The code is written as simply as possible. The code is designed to be simple even for intermediate and even novice programmers.\u003c\/p\u003e\u003cp\u003eIf you are not a programmer but are interested in chess, this book may be of interest.\u003c\/p\u003e\u003cp\u003eThe book includes annotations of the source code for a complete chess engine that the author has developed as a teaching tool. The complete source code is available at \u003cb\u003eGitHub\u003c\/b\u003e. The program can be edited with any text editor and run on a web page. You can alter the code and see if you can make it stronger.\u003c\/p\u003e\u003cp\u003eThe program is a derivative of my program referred to in my earlier book \u003ci\u003eHow to Write a BitBoard Chess Engine\u003c\/i\u003e.\u003c\/p\u003e\u003cp\u003eThe engine is strong enough to beat most social players.\u003c\/p\u003eFeatures of the engine include: \u003cul\u003e\n\u003cli\u003eIt can play a human or itself.\u003c\/li\u003e\n\u003cli\u003eIt can load positions.\u003c\/li\u003e\n\u003cli\u003eIt is reasonably fast.\u003c\/li\u003e\n\u003cli\u003eIt displays the best line of play for both sides.\u003c\/li\u003e\n\u003cli\u003eDetects checkmate.\u003c\/li\u003e\n\u003cli\u003eDetects draws by repetition, 50 move rule, stalemate or reduction of material.\u003c\/li\u003e\n\u003c\/ul\u003e\u003cb\u003eEvaluation\u003c\/b\u003eThe engine evaluates elements of a position, including: \u003cul\u003e\n\u003cli\u003eMaterial.\u003c\/li\u003e\n\u003cli\u003ePiece position.\u003c\/li\u003e\n\u003cli\u003eKing safety.\u003c\/li\u003e\n\u003cli\u003ePawn structure.\u003c\/li\u003e\n\u003cli\u003ePassed pawns etc\u003c\/li\u003e\n\u003c\/ul\u003e\u003cb\u003eSearch\u003c\/b\u003eThe engine uses a standard alpha-beta minimax search including: \u003cul\u003e\n\u003cli\u003eCut offs.\u003c\/li\u003e\n\u003cli\u003eMove ordering.\u003c\/li\u003e\n\u003cli\u003eHistory moves, \u003c\/li\u003e\n\u003cli\u003eHash tables.\u003c\/li\u003e\n\u003cli\u003eExtensions.\u003c\/li\u003e\n\u003cli\u003eReductions.\u003c\/li\u003e\n\u003cli\u003eCapture search.\u003c\/li\u003e\n\u003c\/ul\u003e\u003cp\u003eAnd much more...\u003c\/p\u003e\u003cp\u003eOther books on computer chess include: \u003c\/p\u003e\u003cul\u003e\n\u003cli\u003e\n\u003ci\u003eThe Joy of Chess Programming\u003c\/i\u003e \u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eThink Like a Computer\u003c\/i\u003e\u003c\/li\u003e\n\u003c\/ul\u003eOther books on computer chess programming include: \u003cul\u003e\n\u003cli\u003e\n\u003ci\u003eHow to Write a Chess Program\u003c\/i\u003e.\u003c\/li\u003e\n\u003cli\u003e\n\u003ci\u003eHow to Write a Bitboard Chess Engine\u003c\/i\u003e.\u003c\/li\u003e\n\u003cli\u003e\n\u003ci\u003eAdvanced Chess Programming\u003c\/i\u003e.\u003c\/li\u003e\n\u003cli\u003e\n\u003ci\u003eHow to Write a Complex Chess Engine\u003c\/i\u003e.\u003c\/li\u003e\n\u003cli\u003e\n\u003ci\u003eHow to Write a Simple Chess Neural Network\u003c\/i\u003e.\u003c\/li\u003e\n\u003c\/ul\u003e\u003cp\u003eThe author is a FIDE chess master and national senior chess champion in addition to being a chess programming enthusiast. He was also an IT trainer for 10 years, teaching programming languages such as C++ to adults.\u003c\/p\u003e\n            \u003cdiv\u003e\n\u003cstrong\u003eNumber of Pages:\u003c\/strong\u003e 118\u003c\/div\u003e\n            \u003cdiv\u003e\n\u003cstrong\u003eDimensions:\u003c\/strong\u003e 0.25 x 9 x 6 IN\u003c\/div\u003e\n            \u003cdiv\u003e\n\u003cstrong\u003ePublication Date:\u003c\/strong\u003e October 12, 2020\u003c\/div\u003e\n            ","brand":"Books by splitShops","offers":[{"title":"Default Title","offer_id":50359393714413,"sku":"9798696629605","price":16.18,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0020\/8918\/9441\/files\/7zd8Gwk-Ee9798696629605.webp?v=1785361718","url":"https:\/\/www.webster.direct\/en-gb\/products\/how-to-write-a-javascript-chess-engine-how-chess-programs-work-paperback","provider":"Webster.Direct","version":"1.0","type":"link"}