Browse Source

error in bounds

Nicolas Winkler 3 years ago
parent
commit
3b5ea19622
1 changed files with 3 additions and 5 deletions
  1. 3 5
      src/search.rs

+ 3 - 5
src/search.rs

@@ -143,7 +143,7 @@ fn negamax(game: &mut Game, sc: &mut SearchControl, hash: &mut Cache, mut alpha:
     }
 
     if depth == 0 {
-        return quiescence_search(game, sc, hash, alpha, beta, 9);
+        return quiescence_search(game, sc, hash, alpha, beta, 100);
     }
 
     sc.nodes += 1;
@@ -153,8 +153,6 @@ fn negamax(game: &mut Game, sc: &mut SearchControl, hash: &mut Cache, mut alpha:
         }
     }
 
-    if game.get_piece(KING, game.turn) == 0 { return (-mate(), false); }
-
 
     let mut moves = generate_legal_moves(game, game.turn);
 
@@ -213,7 +211,7 @@ fn negamax(game: &mut Game, sc: &mut SearchControl, hash: &mut Cache, mut alpha:
 
         if val >= beta {
             game.undo_move(undo);
-            hash.cache(game, CacheEntry::new_lower(depth, val));
+            hash.cache(game, CacheEntry::new_upper(depth, val));
             //println!("but ret {}: {}", depth, beta);
             return (beta, false);
         }
@@ -229,7 +227,7 @@ fn negamax(game: &mut Game, sc: &mut SearchControl, hash: &mut Cache, mut alpha:
         hash.cache(game, CacheEntry::new_value(depth, alpha));
     }
     else {
-        hash.cache(game, CacheEntry::new_upper(depth, alpha));
+        hash.cache(game, CacheEntry::new_lower(depth, alpha));
     }
     //info!("best alpha {}", best);
     return (alpha, false);