[position] Remove the to_move_factor from symmetric evaluation
Just use material balance.
This commit is contained in:
parent
1ae6d5df48
commit
74c0e4144f
1 changed files with 9 additions and 6 deletions
|
@ -1,17 +1,20 @@
|
|||
// Eryn Wells <eryn@erynwells.me>
|
||||
|
||||
use crate::Position;
|
||||
use chessfriend_board::Board;
|
||||
use chessfriend_core::{Color, Piece, Shape, score::Score};
|
||||
|
||||
struct Evaluator;
|
||||
|
||||
impl Evaluator {
|
||||
pub fn evaluate_symmetric_unwrapped(board: &Board, color: Color) -> Score {
|
||||
pub fn evaluate_symmetric_unwrapped(position: &Position, color: Color) -> Score {
|
||||
let board = &position.board;
|
||||
|
||||
let material_balance = Self::material_balance(board, color);
|
||||
|
||||
let to_move_factor = color.score_factor();
|
||||
let score = material_balance;
|
||||
|
||||
to_move_factor * material_balance
|
||||
score
|
||||
}
|
||||
|
||||
/// Evaluate a board using the symmetric evaluation algorithm defined by
|
||||
|
@ -53,10 +56,10 @@ mod tests {
|
|||
|
||||
#[test]
|
||||
fn starting_position_is_even() {
|
||||
let board = Board::starting(None);
|
||||
let position = Position::new(Board::starting(None));
|
||||
assert_eq!(
|
||||
Evaluator::evaluate_symmetric_unwrapped(&board, Color::White),
|
||||
Evaluator::evaluate_symmetric_unwrapped(&board, Color::Black)
|
||||
Evaluator::evaluate_symmetric_unwrapped(&position, Color::White),
|
||||
Evaluator::evaluate_symmetric_unwrapped(&position, Color::Black)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue