From 45e1a058391e20183d56714dce713b55f78ca949 Mon Sep 17 00:00:00 2001 From: Simon Gardling Date: Tue, 28 Jan 2025 22:45:38 -0500 Subject: [PATCH] fixes --- src/board.rs | 50 +++++++++++++++++---------------------------- src/complexagent.rs | 1 - 2 files changed, 19 insertions(+), 32 deletions(-) diff --git a/src/board.rs b/src/board.rs index 636c02e..925130f 100644 --- a/src/board.rs +++ b/src/board.rs @@ -109,8 +109,7 @@ impl Board { split_from(0, BOARD_SIZE - 1, i) .into_iter() .zip(split_from(0, BOARD_SIZE - 1, j)) - .map(|(i_vec, j_vec)| i_vec.into_iter().zip(j_vec)) - .map(|x| x.into_iter().map(|(i, j)| (i, j)).collect()), + .map(|(i_vec, j_vec)| i_vec.into_iter().zip(j_vec).collect()), ); let mut captured: usize = 0; @@ -152,32 +151,18 @@ mod test { fn place_and_get() { let mut board = Board::new(); assert_eq!(board.get(0, 0), &None); - assert_eq!( - board.place(0, 0, Piece::Black), - Ok(()), - "placing black on (0, 0)" - ); + board.place_unchecked(0, 0, Piece::Black); assert_eq!(board.get(0, 0), &Some(Piece::Black)); } #[test] fn place_and_capture_simple() { let mut board = Board::new(); - assert_eq!( - board.place(0, 0, Piece::Black), - Ok(()), - "first move of piece black to (0, 0)" - ); - assert_eq!( - board.place(0, 1, Piece::White), - Ok(()), - "white move to (0, 1)" - ); - assert_eq!( - board.place(0, 2, Piece::Black), - Ok(()), - "black counter, capturing white" - ); + board.place_unchecked(0, 0, Piece::Black); + board.place_unchecked(0, 1, Piece::White); + board.place_unchecked(0, 2, Piece::Black); + + board.propegate_from(0, 2); assert_eq!(board.get(0, 1), &Some(Piece::Black)); } @@ -185,11 +170,12 @@ mod test { fn failed_capture() { let mut board = Board::new(); - assert_eq!(board.place(0, 0, Piece::Black), Ok(())); + board.place_unchecked(0, 0, Piece::Black); - assert_eq!(board.place(0, 2, Piece::White), Ok(())); + board.place_unchecked(0, 2, Piece::White); - assert_eq!(board.place(0, 3, Piece::Black), Ok(())); + board.place_unchecked(0, 3, Piece::Black); + board.propegate_from(0, 3); assert_eq!( board.get(0, 1), @@ -202,13 +188,14 @@ mod test { fn long_capture_horiz() { let mut board = Board::new(); - assert_eq!(board.place(0, 0, Piece::Black), Ok(())); + board.place_unchecked(0, 0, Piece::Black); for j in 1..=6 { - assert_eq!(board.place(0, j, Piece::White), Ok(())); + board.place_unchecked(0, j, Piece::White); } - assert_eq!(board.place(0, 7, Piece::Black), Ok(())); + board.place_unchecked(0, 7, Piece::Black); + board.propegate_from(0, 7); for j in 2..=6 { assert_eq!( @@ -225,13 +212,14 @@ mod test { fn long_capture_vert() { let mut board = Board::new(); - assert_eq!(board.place(0, 0, Piece::Black), Ok(())); + board.place_unchecked(0, 0, Piece::Black); for i in 1..=6 { - assert_eq!(board.place(i, 0, Piece::White), Ok(())); + board.place_unchecked(i, 0, Piece::White); } - assert_eq!(board.place(7, 0, Piece::Black), Ok(())); + board.place_unchecked(7, 0, Piece::Black); + board.propegate_from(7, 0); for i in 2..=6 { assert_eq!( diff --git a/src/complexagent.rs b/src/complexagent.rs index e0871f5..e6c3314 100644 --- a/src/complexagent.rs +++ b/src/complexagent.rs @@ -16,7 +16,6 @@ fn problem_space(board: &Board, piece: Piece) -> Vec<(usize, usize, (Board, usiz .collect::>() }) .flat_map(|(i, j)| board.what_if(i, j, piece).map(|x| (i, j, x))) - .map(|(i, j, (board, c))| (i, j, (board, c as usize))) .collect() }