diff --git a/src/complexagent.rs b/src/complexagent.rs index 1169205..c804527 100644 --- a/src/complexagent.rs +++ b/src/complexagent.rs @@ -12,10 +12,11 @@ pub struct ComplexAgent { #[allow(dead_code)] impl ComplexAgent { pub const fn new(color: Piece) -> Self { - const MAX_DEPTH: usize = 10; + const MAX_DEPTH: usize = 14; + const NON_LAZY_DEPTH: usize = 5; Self { color, - future_moves: FutureMoves::new(color, MAX_DEPTH, 8), + future_moves: FutureMoves::new(color, MAX_DEPTH, NON_LAZY_DEPTH), } } } diff --git a/src/logic/future_moves.rs b/src/logic/future_moves.rs index 3550a29..5c05b3f 100644 --- a/src/logic/future_moves.rs +++ b/src/logic/future_moves.rs @@ -276,7 +276,8 @@ impl FutureMoves { && node.coords() == (i, j) }) .map(|x| x.0) - .inspect(|&root| self.update_root_idx(root)) + // do raw set so we can prune it on the next move (in `update`) + .inspect(|&root| self.update_root_idx_raw(root)) .is_some() } diff --git a/src/main.rs b/src/main.rs index 82924e5..e6672a5 100644 --- a/src/main.rs +++ b/src/main.rs @@ -10,8 +10,8 @@ pub mod repr; fn main() { let player1 = complexagent::ComplexAgent::new(Piece::Black); // let player2 = complexagent::ComplexAgent::new(Piece::White); - let player2 = agent::ManualAgent::new(Piece::White); - // let player2 = agent::RandomAgent::new(Piece::White); + // let player2 = agent::ManualAgent::new(Piece::White); + let player2 = agent::RandomAgent::new(Piece::White); let mut game = Game::new(Box::new(player1), Box::new(player2)); game.game_loop(); }