place weighting

This commit is contained in:
2025-02-20 19:14:31 -05:00
parent e1d83825b7
commit d29095bc9d
8 changed files with 101 additions and 51 deletions

View File

@@ -1,9 +1,9 @@
use crate::repr::{Board, Piece, PosMap};
pub struct BoardValueMap(PosMap<i8>);
pub struct BoardValueMap(PosMap<i64>);
impl BoardValueMap {
pub fn board_value(&self, board: &Board, color: Piece) -> i8 {
pub fn board_value(&self, board: &Board, color: Piece) -> i64 {
Board::all_positions()
.filter_map(|(i, j)| board.get(i, j).map(|p| (i, j, p)))
.map(|(i, j, pos_p)| {
@@ -25,7 +25,11 @@ impl BoardValueMap {
}
for (i, j) in Board::sides() {
map.set(i, j, 4);
map.set(i, j, 100);
}
for (i, j) in Board::corners() {
map.set(i, j, 1000);
}
Self(map)

View File

@@ -55,6 +55,6 @@ impl Move {
return 0;
}
BVM.board_value(&self.board, agent_color) as i64
BVM.board_value(&self.board, agent_color)
}
}