|
|
|
|
|
by thrw21
878 days ago
|
|
https://news.ycombinator.com/item?id=39066345 You could probably modify this solution, I am already using 3 bits for piece type 0-3 rook queen bishop knight 4 Non-moved king (can castle) 5 moved king 6 pawn that moved 2 squares last turn (can be captured using en passant) 7 other pawns And then a single extra bit to store whose turn it is |
|
If you use a variable length encoding you can also use different static probabilities for the different ranks, since "rook (not moved)" and "pawn (en passant)" can only appear on certain ranks and only depending on the piece color (well, pawns can't appear on ranks 1 or 8 at all)