[board] Clean up a bunch of build errors
Fix imports to refer to core and bitboard crates. Fix some API use errors.
This commit is contained in:
parent
3cec64d686
commit
6f85305912
17 changed files with 59 additions and 36 deletions
|
@ -7,3 +7,4 @@ edition = "2021"
|
|||
|
||||
[dependencies]
|
||||
chessfriend_core = { path = "../core" }
|
||||
chessfriend_bitboard = { path = "../bitboard" }
|
||||
|
|
|
@ -14,5 +14,3 @@ mod sight;
|
|||
pub use piece::{Color, Piece};
|
||||
pub use position::{MoveBuilder as MakeMoveBuilder, Position, PositionBuilder};
|
||||
pub use r#move::{Castle, MakeMoveError, Move, MoveBuilder};
|
||||
|
||||
pub(crate) use bitboard::BitBoard;
|
||||
|
|
|
@ -3,8 +3,9 @@
|
|||
use super::{move_generator_declaration, MoveGeneratorInternal, MoveSet};
|
||||
use crate::{
|
||||
piece::{Color, Piece, PlacedPiece},
|
||||
BitBoard, MoveBuilder, Position,
|
||||
MoveBuilder, Position,
|
||||
};
|
||||
use chessfriend_bitboard::BitBoard;
|
||||
use chessfriend_core::Direction;
|
||||
|
||||
move_generator_declaration!(ClassicalMoveGenerator);
|
||||
|
@ -60,7 +61,8 @@ impl<'pos> MoveGeneratorInternal for ClassicalMoveGenerator<'pos> {
|
|||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
use crate::{piece, piece::Color, position, position::DiagramFormatter, BitBoard};
|
||||
use crate::{piece, piece::Color, position, position::DiagramFormatter};
|
||||
use chessfriend_bitboard::BitBoard;
|
||||
|
||||
#[test]
|
||||
fn classical_single_bishop_bitboard() {
|
||||
|
|
|
@ -7,8 +7,9 @@ use super::{move_generator_declaration, MoveGeneratorInternal, MoveSet};
|
|||
use crate::{
|
||||
piece::{Color, Piece, PlacedPiece},
|
||||
r#move::Castle,
|
||||
BitBoard, Move, MoveBuilder, Position,
|
||||
Move, MoveBuilder, Position,
|
||||
};
|
||||
use chessfriend_bitboard::BitBoard;
|
||||
|
||||
move_generator_declaration!(KingMoveGenerator, struct);
|
||||
move_generator_declaration!(KingMoveGenerator, new);
|
||||
|
@ -76,7 +77,8 @@ impl<'pos> MoveGeneratorInternal for KingMoveGenerator<'pos> {
|
|||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
use crate::Square;
|
||||
use chessfriend_bitboard::bitboard;
|
||||
use chessfriend_core::Square;
|
||||
use std::collections::HashSet;
|
||||
|
||||
#[test]
|
||||
|
|
|
@ -3,8 +3,9 @@
|
|||
use super::{move_generator_declaration, MoveGeneratorInternal, MoveSet};
|
||||
use crate::{
|
||||
piece::{Color, Piece, PlacedPiece},
|
||||
BitBoard, MoveBuilder, Position,
|
||||
MoveBuilder, Position,
|
||||
};
|
||||
use chessfriend_bitboard::BitBoard;
|
||||
|
||||
move_generator_declaration!(KnightMoveGenerator);
|
||||
|
||||
|
@ -40,7 +41,8 @@ impl<'pos> MoveGeneratorInternal for KnightMoveGenerator<'pos> {
|
|||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
use crate::{piece, position, Move, Square};
|
||||
use crate::{piece, position, Move};
|
||||
use chessfriend_core::Square;
|
||||
use std::collections::HashSet;
|
||||
|
||||
#[test]
|
||||
|
|
|
@ -14,8 +14,9 @@ pub(crate) use move_set::MoveSet;
|
|||
|
||||
use crate::{
|
||||
piece::{Color, Piece, PlacedPiece},
|
||||
Move, Position, Square,
|
||||
Move, Position,
|
||||
};
|
||||
use chessfriend_core::Square;
|
||||
use std::collections::BTreeMap;
|
||||
|
||||
trait MoveGenerator {
|
||||
|
@ -34,7 +35,10 @@ macro_rules! move_generator_declaration {
|
|||
pub(super) struct $name<'pos> {
|
||||
position: &'pos $crate::Position,
|
||||
color: $crate::piece::Color,
|
||||
move_sets: std::collections::BTreeMap<$crate::Square, $crate::move_generator::MoveSet>,
|
||||
move_sets: std::collections::BTreeMap<
|
||||
chessfriend_core::Square,
|
||||
$crate::move_generator::MoveSet,
|
||||
>,
|
||||
}
|
||||
};
|
||||
($name:ident, new) => {
|
||||
|
@ -54,12 +58,11 @@ macro_rules! move_generator_declaration {
|
|||
self.move_sets.values().map(|set| set.moves()).flatten()
|
||||
}
|
||||
|
||||
fn bitboard(&self) -> $crate::BitBoard {
|
||||
self.move_sets
|
||||
.values()
|
||||
.fold($crate::BitBoard::empty(), |partial, mv_set| {
|
||||
partial | mv_set.bitboard()
|
||||
})
|
||||
fn bitboard(&self) -> chessfriend_bitboard::BitBoard {
|
||||
self.move_sets.values().fold(
|
||||
chessfriend_bitboard::BitBoard::empty(),
|
||||
|partial, mv_set| partial | mv_set.bitboard(),
|
||||
)
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
|
@ -43,7 +43,8 @@ impl<'a> Moves<'a> {
|
|||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use crate::{piece, position, r#move::AlgebraicMoveFormatter, Move, MoveBuilder, Square};
|
||||
use crate::{piece, position, r#move::AlgebraicMoveFormatter, Move, MoveBuilder};
|
||||
use chessfriend_core::Square;
|
||||
use std::collections::HashSet;
|
||||
|
||||
#[test]
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
use crate::{piece::PlacedPiece, BitBoard, Move};
|
||||
use crate::{piece::PlacedPiece, Move};
|
||||
use chessfriend_bitboard::BitBoard;
|
||||
|
||||
#[derive(Clone, Debug, Eq, PartialEq)]
|
||||
struct BitBoardSet {
|
||||
|
|
|
@ -2,8 +2,9 @@
|
|||
|
||||
use crate::{
|
||||
piece::{Color, Piece, Shape},
|
||||
BitBoard, Move, MoveBuilder, Position,
|
||||
Move, MoveBuilder, Position,
|
||||
};
|
||||
use chessfriend_bitboard::BitBoard;
|
||||
|
||||
enum MoveList {
|
||||
Quiet = 0,
|
||||
|
@ -246,7 +247,8 @@ impl<'pos> Iterator for PawnMoveGenerator<'pos> {
|
|||
mod tests {
|
||||
use super::*;
|
||||
use crate::position::DiagramFormatter;
|
||||
use crate::{piece, Position, Square};
|
||||
use crate::{piece, Position};
|
||||
use chessfriend_core::Square;
|
||||
use std::collections::HashSet;
|
||||
|
||||
#[test]
|
||||
|
|
|
@ -3,8 +3,9 @@
|
|||
use super::{move_generator_declaration, MoveGeneratorInternal, MoveSet};
|
||||
use crate::{
|
||||
piece::{Color, Piece, PlacedPiece},
|
||||
BitBoard, MoveBuilder, Position,
|
||||
MoveBuilder, Position,
|
||||
};
|
||||
use chessfriend_bitboard::BitBoard;
|
||||
use chessfriend_core::Direction;
|
||||
|
||||
move_generator_declaration!(ClassicalMoveGenerator);
|
||||
|
@ -66,7 +67,8 @@ impl<'pos> MoveGeneratorInternal for ClassicalMoveGenerator<'pos> {
|
|||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
use crate::{piece, position, position::DiagramFormatter, BitBoard, Color};
|
||||
use crate::{piece, position, position::DiagramFormatter, Color};
|
||||
use chessfriend_bitboard::{bitboard, BitBoard};
|
||||
|
||||
#[test]
|
||||
fn classical_single_queen_bitboard() {
|
||||
|
|
|
@ -3,8 +3,9 @@
|
|||
use super::{move_generator_declaration, MoveGeneratorInternal, MoveSet};
|
||||
use crate::{
|
||||
piece::{Color, Piece, PlacedPiece},
|
||||
BitBoard, MoveBuilder, Position,
|
||||
MoveBuilder, Position,
|
||||
};
|
||||
use chessfriend_bitboard::BitBoard;
|
||||
use chessfriend_core::Direction;
|
||||
|
||||
move_generator_declaration!(ClassicalMoveGenerator);
|
||||
|
@ -62,7 +63,8 @@ impl<'pos> MoveGeneratorInternal for ClassicalMoveGenerator<'pos> {
|
|||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
use crate::{piece::Piece, position, position::DiagramFormatter, BitBoard, Color, Position};
|
||||
use crate::{piece::Piece, position, position::DiagramFormatter, Color, Position};
|
||||
use chessfriend_bitboard::{bitboard, BitBoard};
|
||||
use chessfriend_core::Square;
|
||||
|
||||
#[test]
|
||||
|
|
|
@ -4,8 +4,9 @@ use crate::{
|
|||
piece::{PlacedPiece, Shape},
|
||||
position::flags::Flags,
|
||||
r#move::Castle,
|
||||
BitBoard, Color, MakeMoveError, Move, Piece, Position,
|
||||
Color, MakeMoveError, Move, Piece, Position,
|
||||
};
|
||||
use chessfriend_bitboard::BitBoard;
|
||||
use chessfriend_core::{Direction, Square};
|
||||
|
||||
/// A position builder that builds a new position by making a move.
|
||||
|
|
|
@ -1,14 +1,13 @@
|
|||
// Eryn Wells <eryn@erynwells.me>
|
||||
|
||||
use crate::{
|
||||
bitboard::BitBoardBuilder,
|
||||
piece::{PlacedPiece, Shape},
|
||||
position::{flags::Flags, piece_sets::PieceBitBoards},
|
||||
r#move::Castle,
|
||||
BitBoard, Color, MakeMoveError, Move, Piece, Position,
|
||||
Color, MakeMoveError, Move, Piece, Position,
|
||||
};
|
||||
use chessfriend_core::{Rank, Square};
|
||||
use std::collections::BTreeMap;
|
||||
use chessfriend_core::Square;
|
||||
|
||||
#[derive(Clone)]
|
||||
pub struct Builder {
|
||||
|
@ -109,8 +108,8 @@ impl Builder {
|
|||
|
||||
impl Default for Builder {
|
||||
fn default() -> Self {
|
||||
let white_king_square = Square::king_starting_square(Color::White);
|
||||
let black_king_square = Square::king_starting_square(Color::Black);
|
||||
let white_king_square = Square::E1;
|
||||
let black_king_square = Square::E8;
|
||||
|
||||
let pieces = BTreeMap::from_iter([
|
||||
(white_king_square, piece!(White King)),
|
||||
|
|
|
@ -2,8 +2,9 @@
|
|||
|
||||
use crate::{
|
||||
piece::{Piece, PlacedPiece},
|
||||
BitBoard, Color,
|
||||
Color,
|
||||
};
|
||||
use chessfriend_bitboard::BitBoard;
|
||||
use chessfriend_core::Square;
|
||||
|
||||
#[derive(Debug, Eq, PartialEq)]
|
||||
|
@ -125,7 +126,7 @@ impl PieceBitBoards {
|
|||
|
||||
impl FromIterator<PlacedPiece> for PieceBitBoards {
|
||||
fn from_iter<T: IntoIterator<Item = PlacedPiece>>(iter: T) -> Self {
|
||||
let mut pieces = Self::default();
|
||||
let mut pieces: Self = Default::default();
|
||||
|
||||
for piece in iter {
|
||||
let _ = pieces.place_piece(&piece);
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
use super::Position;
|
||||
use crate::piece::{Color, Piece, PlacedPiece, Shape};
|
||||
use crate::BitBoard;
|
||||
use chessfriend_bitboard::BitBoard;
|
||||
use chessfriend_core::Square;
|
||||
|
||||
pub struct Pieces<'a> {
|
||||
|
|
|
@ -7,8 +7,9 @@ use crate::{
|
|||
position::DiagramFormatter,
|
||||
r#move::Castle,
|
||||
sight::Sight,
|
||||
BitBoard, Move,
|
||||
Move,
|
||||
};
|
||||
use chessfriend_bitboard::BitBoard;
|
||||
use chessfriend_core::Square;
|
||||
use std::{cell::OnceCell, fmt};
|
||||
|
||||
|
|
|
@ -2,8 +2,9 @@
|
|||
|
||||
use crate::{
|
||||
piece::{Color, PlacedPiece, Shape},
|
||||
BitBoard, Position,
|
||||
Position,
|
||||
};
|
||||
use chessfriend_bitboard::BitBoard;
|
||||
use chessfriend_core::Direction;
|
||||
|
||||
pub(crate) trait Sight {
|
||||
|
@ -174,7 +175,8 @@ mod tests {
|
|||
}
|
||||
|
||||
mod pawn {
|
||||
use crate::{sight::Sight, BitBoard};
|
||||
use crate::sight::Sight;
|
||||
use chessfriend_bitboard::{bitboard, BitBoard};
|
||||
use chessfriend_core::Square;
|
||||
|
||||
sight_test!(e4_pawn, piece!(White Pawn on E4), bitboard!(D5, F5));
|
||||
|
@ -234,6 +236,7 @@ mod tests {
|
|||
#[macro_use]
|
||||
mod knight {
|
||||
use crate::sight::Sight;
|
||||
use chessfriend_bitboard::bitboard;
|
||||
|
||||
sight_test!(
|
||||
f6_knight,
|
||||
|
@ -244,6 +247,7 @@ mod tests {
|
|||
|
||||
mod bishop {
|
||||
use crate::sight::Sight;
|
||||
use chessfriend_bitboard::bitboard;
|
||||
|
||||
sight_test!(
|
||||
c2_bishop,
|
||||
|
@ -254,6 +258,7 @@ mod tests {
|
|||
|
||||
mod rook {
|
||||
use crate::sight::Sight;
|
||||
use chessfriend_bitboard::bitboard;
|
||||
|
||||
sight_test!(
|
||||
g3_rook,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue