Move State struct impl to its own file
This commit is contained in:
13
src/board.rs
13
src/board.rs
@@ -5,12 +5,13 @@ use crate::attack::{
|
||||
get_rook_attacks,
|
||||
};
|
||||
use crate::bitboard::{have_common_bit, lsb, square_to_bitboard};
|
||||
use crate::game::{Castle, State};
|
||||
use crate::movegen::{
|
||||
bishop_pseudo_moves, king_pseudo_moves, knight_pseudo_moves, pawn_pseudo_moves,
|
||||
queen_pseudo_moves, rook_pseudo_moves,
|
||||
};
|
||||
use crate::r#move::{Move, MoveType, Promote};
|
||||
use crate::square::Square;
|
||||
use crate::state::{Castle, State};
|
||||
|
||||
#[derive(Debug, PartialEq, Eq, Clone)]
|
||||
pub struct Board {
|
||||
@@ -242,14 +243,14 @@ impl Board {
|
||||
}
|
||||
}
|
||||
|
||||
fn move_rook_castle(square: usize, pieces: &mut [Piece; 6]) {
|
||||
let (rook_source, rook_target) = match square {
|
||||
2 | 58 => (square - 2, square + 1),
|
||||
6 | 62 => (square + 1, square - 1),
|
||||
fn move_rook_castle(king_dst: usize, pieces: &mut [Piece; 6]) {
|
||||
let (rook_src, rook_dst) = match king_dst {
|
||||
Square::C1 | Square::C8 => (king_dst - 2, king_dst + 1),
|
||||
Square::G1 | Square::G8 => (king_dst + 1, king_dst - 1),
|
||||
_ => return,
|
||||
};
|
||||
|
||||
Self::move_piece(rook_source, rook_target, pieces);
|
||||
Self::move_piece(rook_src, rook_dst, pieces);
|
||||
}
|
||||
|
||||
fn promote_piece(square: usize, pieces: &mut [Piece; 6], promote: Promote) {
|
||||
|
||||
Reference in New Issue
Block a user