diff --git a/src/config.rs b/src/config.rs index 1f6272d..4db824b 100644 --- a/src/config.rs +++ b/src/config.rs @@ -20,4 +20,4 @@ pub const INFO: Info = Info { }; // FIXME: this needs to be configurable via UCI -pub const DEPTH: u8 = 8; +pub const DEPTH: u8 = 7; diff --git a/src/eval.rs b/src/eval.rs index 19931da..484177f 100644 --- a/src/eval.rs +++ b/src/eval.rs @@ -106,7 +106,12 @@ fn evaluate_piece_square(board: ChessBoard, square: Square, playing_as: Color) - (mg_value, eg_value, gamephase) } -fn static_board_eval(board: ChessBoard, playing_as: Color, move_history: Vec) -> f64 { +fn static_board_eval( + board: ChessBoard, + playing_as: Color, + move_history: Vec, + last_move: ChessMove, +) -> f64 { // basic material counting + midgame or endgame determination let mut our_mg_value: f64 = 0.0; let mut our_eg_value: f64 = 0.0; @@ -160,21 +165,17 @@ fn static_board_eval(board: ChessBoard, playing_as: Color, move_history: Vec, + pub last_move: ChessMove, } pub struct Game; @@ -211,6 +213,7 @@ impl minimax::Game for Game { Some(Board { current_board: b.current_board.make_move_new(m), board_history: new_board_history, + last_move: m, }) } @@ -230,6 +233,7 @@ impl minimax::Evaluator for Evaluator { b.current_board, b.current_board.side_to_move(), b.board_history.clone(), + b.last_move.clone(), ) as i16 } } diff --git a/src/main.rs b/src/main.rs index fb6dc26..ad04056 100644 --- a/src/main.rs +++ b/src/main.rs @@ -105,6 +105,7 @@ fn main() { .choose_move(&EvalBoard { current_board: board, board_history: move_history.clone(), + last_move: Default::default(), }) .unwrap();