Add white castling for both wings. Found some bugs in how king sight is computed while writing these. In order for the king to perform the castle, the Movement bitboard needs to return the two squares the king can castle to. That means anytime movement is calculated for the king, the (relatively expensive) castling evaluation needs to happen. Write two new helper static functions to create a Move for castling and promotion moves. Since structs cannot have any functions with the same name, the two methods that return properties related to those moves (Move::castle and Move::promotion) need to be renamed. They're now called Move::castle_wing and Move::promotion_shape. |
||
---|---|---|
.. | ||
src | ||
tests | ||
Cargo.toml |