[board] Add Position::color_to_move defaulting to White

This commit is contained in:
Eryn Wells 2023-12-26 11:22:40 -07:00
parent 1575c83d31
commit d2d33a4915

View file

@ -4,13 +4,15 @@ mod pieces;
use self::pieces::Pieces; use self::pieces::Pieces;
use crate::bitboard::BitBoard; use crate::bitboard::BitBoard;
use crate::piece::{Piece, PiecePlacementError};
use crate::square::Square; use crate::square::Square;
use crate::piece::{Color, Piece, PiecePlacementError};
use std::fmt; use std::fmt;
use std::fmt::Write; use std::fmt::Write;
#[derive(Clone, Eq, Hash, PartialEq)] #[derive(Clone, Eq, Hash, PartialEq)]
pub struct Position { pub struct Position {
color_to_move: Color,
/// Composite bitboards for all the pieces of a particular color. /// Composite bitboards for all the pieces of a particular color.
pieces_per_color: [BitBoard; 2], pieces_per_color: [BitBoard; 2],
@ -21,6 +23,7 @@ pub struct Position {
impl Position { impl Position {
fn empty() -> Position { fn empty() -> Position {
Position { Position {
color_to_move: Color::White,
pieces_per_color: [BitBoard::empty(), BitBoard::empty()], pieces_per_color: [BitBoard::empty(), BitBoard::empty()],
pieces_per_type: [ pieces_per_type: [
[ [
@ -64,6 +67,7 @@ impl Position {
]; ];
Position { Position {
color_to_move: Color::White,
pieces_per_color: [ pieces_per_color: [
white_pieces.iter().fold(BitBoard::empty(), |a, b| a | b), white_pieces.iter().fold(BitBoard::empty(), |a, b| a | b),
black_pieces.iter().fold(BitBoard::empty(), |a, b| a | b), black_pieces.iter().fold(BitBoard::empty(), |a, b| a | b),