c3a9a55be1
Move 'ChessBoard' to its own sub-folder
2024-04-01 19:56:48 +01:00
009cb44eab
Check all piece counts in 'ChessBoard::is_valid'
2024-04-01 19:44:24 +01:00
ea301659c0
Check for invalid pawns in 'ChessBoard::is_valid'
2024-04-01 19:11:37 +01:00
2ab1f363ea
Add 'ChessBoard::checkers'
2024-04-01 13:59:41 +01:00
eb53e27f9d
Test for opponent being in check during validation
2024-04-01 13:59:41 +01:00
b75136f7d6
Use 'ChessBoard::occupancy'
2024-04-01 13:59:41 +01:00
23a4e857a0
Add 'ChessBoard::occupancy'
2024-04-01 13:59:41 +01:00
c115e357e1
Check kings' position in 'ChessBoard::is_valid'
2024-04-01 13:59:41 +01:00
0d8feca6b1
Test 'ChessBoard::{do,undo}_move' machinery
2024-04-01 13:59:41 +01:00
fb78e03656
Add FEN board parsing
...
Unfortunately, given that I *don't* want to expose all the `ChessBoard`
fields to the rest of the crate, this implementation will have to live
alongside its module instead of inside `crate::fen`...
2024-04-01 13:59:41 +01:00
2e1b732996
Add 'ChessBoard::is_valid'
2024-04-01 13:59:41 +01:00
63380cabbc
Implement 'Default' for 'ChessBoard'
2024-04-01 13:59:41 +01:00
22de0785fa
Add 'ChessBoard::{,un}do_move'
2024-04-01 13:59:41 +01:00
5a9b3a7d97
Add 'ChessBoard'
2024-04-01 13:59:41 +01:00