diff --git a/src/complexagent.rs b/src/complexagent.rs index da17e60..db63410 100644 --- a/src/complexagent.rs +++ b/src/complexagent.rs @@ -223,7 +223,7 @@ impl FutureMoves { stack.extend(self.arena[idx].children.iter().copied()); } - let mut new_arena = Vec::with_capacity(retain.iter().filter(|x| **x).count()); + let mut new_arena = Vec::with_capacity(self.arena.len()); let mut index_map = vec![None; self.arena.len()]; for (old_idx, keep) in retain.iter().enumerate().rev() { @@ -249,7 +249,7 @@ pub struct ComplexAgent { impl ComplexAgent { pub fn new(color: Piece) -> Self { - const MAX_DEPTH: usize = 5; + const MAX_DEPTH: usize = 7; Self { color, future_moves: FutureMoves::new(color, MAX_DEPTH), diff --git a/src/main.rs b/src/main.rs index 5c9bb14..6506e54 100644 --- a/src/main.rs +++ b/src/main.rs @@ -11,8 +11,8 @@ mod piece; 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(); }