Works for two player chess, uses the bitboard move generator. Primary purpose was to create a visualization of possible moves to make sure there were no bugs in the move generation algorithm
There were alot of bugs in the move generation algorithm. All bugs that were easily spotted with the UI were fixed
This includes
Issues with pins
Static piece attacks
Piece captures
Castling
Enpassante
Promotion
Ghost pieces (Pieces that weren't included in the blockers board)
Move simulation
The board is ENTIRELY drawn using Graphics
All positions have also now been changed to use a single value between 64, which corresponds to a 1ul<<pos on the bitboards. This made it very easy to display piece positions on the board.
You can import any FEN for any position which will be processed by the chess engine. Positions that cannot be replicated in-game WILL NOT be processed properly.
Example import
Example impossible import
This position could not have been reached without the king putting itself into check at some point. For move generation efficiency, positions like this cannot be analyzed correctly. There is currently no invalid detection system in place
Added a UI for the chess engine
Works for two player chess, uses the bitboard move generator. Primary purpose was to create a visualization of possible moves to make sure there were no bugs in the move generation algorithm
There were alot of bugs in the move generation algorithm. All bugs that were easily spotted with the UI were fixed This includes
The board is ENTIRELY drawn using
Graphics
All positions have also now been changed to use a single value between 64, which corresponds to a
1ul<<pos
on the bitboards. This made it very easy to display piece positions on the board.You can import any FEN for any position which will be processed by the chess engine. Positions that cannot be replicated in-game WILL NOT be processed properly.
Example import
Example impossible import
This position could not have been reached without the king putting itself into check at some point. For move generation efficiency, positions like this cannot be analyzed correctly. There is currently no invalid detection system in place