Commit graph

7 commits

Author SHA1 Message Date
0c1863acb9 [board, core, moves, position] Implement castling
Implement a new method on Position that evaluates whether the active color can castle
on a given wing of the board. Then, implement making a castling move in the position.

Make a new Wing enum in the core crate to specify kingside or queenside. Replace the
Castle enum from the board crate with this one. This caused a lot of churn...

Along the way fix a bunch of tests.

Note: there's still no way to actually make a castling move in explorer.
2025-05-19 16:50:30 -07:00
9010f1e9c2 [explorer, moves, core] Improve error handling in explorer
Implement thiserror::Error for a bunch of error types, and remove string errors
from the implementation of the command handler in explorer.

Clean up parsing of basic types all over the place.

Update Cargo files to include thiserror and anyhow.
2025-05-19 14:18:31 -07:00
8b2a3926b3 [core,board] Move board::piece to core
Break up types in core into finer grained modules.
Update all the imports.
2024-01-24 17:08:27 -08:00
eab30cc33b [core] Rename the directory chess_core → core
I think this is sufficient.
2024-01-24 08:33:07 -08:00
3c3a62345d [core] Rename core → chess_core 2024-01-24 08:29:16 -08:00
406631b617 [core] Move the contents of board::square to core::coordinates
Export Square, Rank, and File from the core crate.
2024-01-24 08:25:56 -08:00
7e08a9adc4 [core] Create a core crate 2024-01-24 08:24:59 -08:00