{"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":"\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\u003cp\u003e\u003c\/p\u003e\u003cul\u003e\n\u003cli\u003eYou are learning programming and interested in learning something different.\u003c\/li\u003e\n\u003cli\u003eYou are a programmer who is interesting in developing their 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 am interested in chess, this book may be of interest.\u003c\/p\u003e\u003cp\u003eThe book includes annotation of the source code for a complete chess engine 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\u003e\u003cp\u003e\u003c\/p\u003eFeatures of the engine include: \u003cul\u003e\n\u003cli\u003eIt can play a human or itself.\u003c\/li\u003e\n\u003cli\u003eIt has the ability to 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\u003eEvaluationThe engine evaluates elements of a position including: \u003cp\u003e\u003c\/p\u003e\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\u003eSearchThe engine uses a standard alpha-beta minimax search including: \u003cp\u003e\u003c\/p\u003e\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\u003eMy other books on computer chess are \u003ci\u003eHow to Write a Chess Program\u003c\/i\u003e, \u003ci\u003eThe Joy of Chess Programming\u003c\/i\u003e, \u003ci\u003eHow to Write a Bitboard chess Engine\u003c\/i\u003e and \u003ci\u003eThink Like a Computer\u003c\/i\u003e.\u003c\/p\u003e\u003cp\u003e\u003c\/p\u003e\u003cdiv\u003e\n\u003cstrong\u003eNumber of Pages:\u003c\/strong\u003e 104\u003c\/div\u003e\u003cdiv\u003e\n\u003cstrong\u003eDimensions:\u003c\/strong\u003e 0.22 x 9 x 6 IN\u003c\/div\u003e\u003cdiv\u003e\n\u003cstrong\u003ePublication Date:\u003c\/strong\u003e October 12, 2020\u003c\/div\u003e","brand":"Books by splitShops","offers":[{"title":"Default Title","offer_id":42100524941447,"sku":"9798696629605","price":16.18,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0601\/2623\/2711\/files\/e3d0a10b4412856b188a1db7b40a8f99.webp?v=1732385613","url":"https:\/\/booksby.splitshops.com\/products\/how-to-write-a-javascript-chess-engine-how-chess-programs-work-paperback","provider":"Books by splitShops","version":"1.0","type":"link"}