Fix FEN parser mistake on file index

This commit is contained in:
2024-06-03 21:58:48 +03:00
parent a3bebc12ff
commit 7ccc1c404b

View File

@@ -29,7 +29,7 @@ pub fn from_fen(fen: &str) -> Result<Game, FenError> {
}) })
} }
fn piece_placement(pieces: &str) -> Result<Board, FenError> { pub fn piece_placement(pieces: &str) -> Result<Board, FenError> {
let mut board = Board::empty_board(); let mut board = Board::empty_board();
let (mut file, mut rank): (u8, u8) = (0, 7); let (mut file, mut rank): (u8, u8) = (0, 7);
@@ -54,7 +54,7 @@ fn piece_placement(pieces: &str) -> Result<Board, FenError> {
continue; continue;
} }
n if n.is_numeric() => { n if n.is_numeric() => {
rank %= n.to_digit(10).unwrap_or(0) as u8; file += n.to_digit(10).unwrap_or(0) as u8;
None None
} }
_ => { _ => {
@@ -64,9 +64,8 @@ fn piece_placement(pieces: &str) -> Result<Board, FenError> {
} }
} { } {
board.set_piece(Piece::new(1 << square, kind, color)); board.set_piece(Piece::new(1 << square, kind, color));
file += 1;
}; };
file += 1;
} }
Ok(board) Ok(board)
} }