chessfriend/board
Eryn Wells af36b75df7 [board] Implement a pawn move generator
Holy heck I went on a *journey* here. Ultimately, I needed to implement my own
index-based iterator instead of using the Vec's Iterator.

This type establishes some patterns I want to carry forward to other move
generators.

1. The use of a Parameters struct to fully parameterize the move generation
   per-color. That lets these types only need a single color-based branch
2. A list of move lists, one list for each of captures, promotions, and quiet
   moves.
3. An index-based move iterator.
4. Separate impl for generating bitboard representations of these moves

Additional changes:

- Implement BitBoard::from_square()
- Implement a Square::e5() for tests

This class doesn't implement en passant yet. It also doesn't yet have tests for
the bitboard stuff.
2023-12-31 11:44:47 -08:00
..
src [board] Implement a pawn move generator 2023-12-31 11:44:47 -08:00
Cargo.lock [board] Move bitboard lib to "board" 2023-12-20 11:45:55 -08:00
Cargo.toml [board] Move bitboard lib to "board" 2023-12-20 11:45:55 -08:00