No description
Find a file
Eryn Wells 40e8e055f9 [board, moves, position] Move make_move routines to moves crate
Declare a MakeMove trait and export it from chessfriend_moves. Declare a
BoardProvider trait that both Board and Position implement.

Implement the MakeMove trait for all types that implement BoardProvider, and move
all the move making code to the moves crate.

This change makes it possible to make moves directly on a Board, rather than
requiring a Position. The indirection of declaring and implementing the trait
in the moves crate is required because chessfriend_board is a dependency of
chessfriend_moves. So, it would be a layering violation for Board to implement
make_move() directly. The board crate cannot link the moves crate because that
would introduce a circular dependency.
2025-05-31 19:04:21 -07:00
bitboard [bitboard, board, core, moves] Implement SliderMoveGenerator 2025-05-26 17:41:43 -07:00
board [board, moves, position] Move make_move routines to moves crate 2025-05-31 19:04:21 -07:00
core [bitboard, board, core, moves] Implement SliderMoveGenerator 2025-05-26 17:41:43 -07:00
doc Move Notes and ChessPieces docs to a doc directory 2024-01-22 19:27:08 -08:00
explorer [explorer, moves, position] Implement a moves command in explorer 2025-05-28 16:25:55 -07:00
moves [board, moves, position] Move make_move routines to moves crate 2025-05-31 19:04:21 -07:00
position [board, moves, position] Move make_move routines to moves crate 2025-05-31 19:04:21 -07:00
.gitignore
Cargo.lock [explorer, moves, core] Improve error handling in explorer 2025-05-19 14:18:31 -07:00
Cargo.toml Empty board package 2024-04-25 09:32:27 -07:00
ChessFriend.code-workspace Visual Studio Code workspace 2024-02-11 10:22:33 -07:00
Makefile WIP 2025-05-08 17:37:59 -07:00