most basic best move search

This commit is contained in:
Moritz 2025-11-14 23:32:52 +01:00
parent af2178abad
commit 9d527634eb
7 changed files with 105 additions and 4 deletions

18
src/eval/basic.rs Normal file
View file

@ -0,0 +1,18 @@
use crate::board::{Board, Color, PieceType};
pub fn evaluate_board(board: &Board) -> i32 {
let mut score = 0_i32;
score += board.pieces[PieceType::Pawn as usize][Color::White as usize].count_ones() as i32 * 100;
score += board.pieces[PieceType::Knight as usize][Color::White as usize].count_ones() as i32 * 300;
score += board.pieces[PieceType::Bishop as usize][Color::White as usize].count_ones() as i32 * 300;
score += board.pieces[PieceType::Rook as usize][Color::White as usize].count_ones() as i32 * 500;
score += board.pieces[PieceType::Queen as usize][Color::White as usize].count_ones() as i32 * 900;
score += board.pieces[PieceType::King as usize][Color::White as usize].count_ones() as i32 * 10000;
score -= board.pieces[PieceType::Pawn as usize][Color::Black as usize].count_ones() as i32 * 100;
score -= board.pieces[PieceType::Knight as usize][Color::Black as usize].count_ones() as i32 * 300;
score -= board.pieces[PieceType::Bishop as usize][Color::Black as usize].count_ones() as i32 * 300;
score -= board.pieces[PieceType::Rook as usize][Color::Black as usize].count_ones() as i32 * 500;
score -= board.pieces[PieceType::Queen as usize][Color::Black as usize].count_ones() as i32 * 900;
score -= board.pieces[PieceType::King as usize][Color::Black as usize].count_ones() as i32 * 10000;
score
}

1
src/eval/mod.rs Normal file
View file

@ -0,0 +1 @@
pub mod basic;