Kaynağa Gözat

slight changes

Nicolas Winkler 2 yıl önce
ebeveyn
işleme
ee45288c11
2 değiştirilmiş dosya ile 6 ekleme ve 2 silme
  1. 4 0
      src/movegen.rs
  2. 2 2
      src/search.rs

+ 4 - 0
src/movegen.rs

@@ -1697,6 +1697,10 @@ mod tests {
         assert_eq!(nodes_from_pos("r1bqkbnr/1p1p1ppp/p1N1p3/8/4P3/2N5/PPP2PPP/R1BQKB1R b KQkq - 0 6", 4), 2008894);
         assert_eq!(nodes_from_pos("1r5r/p2b2p1/1p1k1bp1/2pBpp2/1P1n1P2/P1NP3P/2PB2P1/R2KR3 w - - 1 23", 4), 1971751);
 
+        assert_eq!(nodes_from_pos("1r3rk1/Q1p1bppp/2q5/3p4/1n6/4P2P/PP1P1PP1/R1BK1B1R w - - 2 16", 4), 1880331);
+        assert_eq!(nodes_from_pos("r2qk2r/1bppnpbp/p1n3p1/1p6/3NP3/1BN1B3/PPP2PPP/R2QK2R w KQkq - 2 10", 4), 2358329);
+        assert_eq!(nodes_from_pos("8/p4k2/1p3p1P/4pR2/2P3P1/4K3/P7/8 b - - 0 56", 5), 304788);
+
         // some positions from https://www.chessprogramming.org/Perft_Results
         assert_eq!(nodes_from_pos("rnbq1k1r/pp1Pbppp/2p5/8/2B5/8/PPP1NnPP/RNBQK2R w KQ - 1 8", 4), 2103487);
         assert_eq!(nodes_from_pos("r3k2r/Pppp1ppp/1b3nbN/nP6/BBP1P3/q4N2/Pp1P2PP/R2Q1RK1 w kq - 0 1", 5), 15833292);

+ 2 - 2
src/search.rs

@@ -594,14 +594,14 @@ fn quiescence_search(board: &mut Board, sc: &mut SearchControl, hash: &mut Cache
     }
 
     //let mut moves = generate_legal_sorted_moves(game, hash, &[], None, true, game.turn);
-    let mut moves = generate_legal_moves(board, board.turn, !check);
+    let mut moves = generate_legal_moves_new(board, board.turn, !check);
 
     //sort_moves_no_hash(game, &mut moves);
     //sort_moves_least_valuable_attacker(board, &mut moves, last_move);
 
     let mut val_movs: Vec<_> = moves.iter()
         .map(|m| (*m, 500 * calculate_see(board.clone(), *m, board.turn) - mvv_lva_score(m)))
-        .filter(|(_m, v)| *v >= -1000)
+        .filter(|(_m, v)| *v >= -600)
         .collect();
     val_movs.sort_unstable_by_key(|(_m, v)| -*v);
     moves = val_movs.iter().map(|(m, _v)| *m).collect();