====== Chess - Programming - Polyglot Book Format - Move ====== A **Move** is encoded as a bit field: ^Bits^Description^ |0,1,2|The destination file.| |3,4,5|The destination rank.| |6,7,8|The source file.| |9,10,11|The source rank.| |12,13,14|Promotion piece.| **NOTE:** Bit 0 is the least significant bit. ---- ===== Promotion Moves ===== A **Promoted Piece** is encoded as follows: ^ Promoted Piece ^ Value ^ | None | 0 | | Knight | 1 | | Bishop | 2 | | Rook | 3 | | Queen | 4 | ---- ===== Castling Moves ===== Castling moves are represented unconventionally as follows: ^Color^Castle Side^Polygot Move^ |White|King-side Castle|e1h1| |White|Queen-side Castle|e1a1| |Black|King-side Castle|e8h8| |Black|Queen-side Castle|e8a8| **NOTE:** It is technically possible that these moves are legal non-castling moves. * Therefore a program should verify that a Castle-move was actually valid. * For example, verify that there is really a king present on e1/e8. ----