[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:
Eryn Wells 2024-01-24 09:18:12 -08:00
parent 3cec64d686
commit 6f85305912
17 changed files with 59 additions and 36 deletions

View file

@ -7,3 +7,4 @@ edition = "2021"
[dependencies]
chessfriend_core = { path = "../core" }
chessfriend_bitboard = { path = "../bitboard" }

View file

@ -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;

View file

@ -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() {

View file

@ -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]

View file

@ -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]

View file

@ -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(),
)
}
}
};

View file

@ -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]

View file

@ -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 {

View file

@ -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]

View file

@ -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() {

View file

@ -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]

View file

@ -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.

View file

@ -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)),

View file

@ -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);

View file

@ -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> {

View file

@ -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};

View file

@ -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,