Skip to content

Commit 5637546

Browse files
committed
Added new movegen to search
It goes worse atm
1 parent 26bc303 commit 5637546

File tree

9 files changed

+198
-109
lines changed

9 files changed

+198
-109
lines changed

REFEREE_CONFIG.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88
"opening_databases":["./O-Deville/o-deville.pgn"],
99
"opening_load_untilply":8,
1010
"timecontrol_engine1_time":10000,
11-
"timecontrol_engine1_inc":1000,
11+
"timecontrol_engine1_inc":100,
1212
"timecontrol_engine2_time":10000,
13-
"timecontrol_engine2_inc":1000,
13+
"timecontrol_engine2_inc":100,
1414
"testsuitetests":false,
1515
"suite_movetime":1000,
1616
"suite_path":"./testsuites/sts.epd",

compileEngine.bat

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
cargo rustc --release --bin schach_reworked -- -C target-cpu=native
1+
cargo rustc --release --bin schach_reworked -- -C target-cpu=skylake
22
"./target/release/schach_reworked.exe"
33
pause

src/move_generation/movegen.rs

Lines changed: 43 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ use super::magic::{self, Magic};
55
use crate::evaluation::psqt_evaluation::{
66
psqt_incremental_add_piece, psqt_incremental_delete_piece, psqt_incremental_move_piece,
77
};
8+
use crate::search::GradedMove;
89

910
//Move GEn
1011
//King- Piece-Wise by lookup
@@ -2094,9 +2095,9 @@ pub fn calculate_additionalbitboards(
20942095
}
20952096

20962097
pub struct AdditionalGameStateInformation {
2097-
stm_incheck: bool,
2098-
stm_haslegalmove: bool,
2099-
additional_bitboards: AdditionalBitBoards,
2098+
pub stm_incheck: bool,
2099+
pub stm_haslegalmove: bool,
2100+
pub additional_bitboards: AdditionalBitBoards,
21002101
}
21012102
#[inline(always)]
21022103
pub fn add_pin_moves_to_movelist(
@@ -2264,11 +2265,16 @@ pub fn add_normal_moves_to_movelist(
22642265
capture_mask: u64,
22652266
only_captures: bool,
22662267
depth: usize,
2268+
stm_color_iswhite: bool,
22672269
) -> bool {
22682270
let mut stm_haslegalmove = false;
22692271
let mut index = 0;
22702272
while piece_board != 0u64 {
2271-
let piece_index = piece_board.trailing_zeros() as usize;
2273+
let piece_index = if stm_color_iswhite {
2274+
63 - piece_board.leading_zeros() as usize
2275+
} else {
2276+
piece_board.trailing_zeros() as usize
2277+
};
22722278
let piece = 1u64 << piece_index;
22732279
if piece & pinned_pieces == 0u64 {
22742280
let piece_target = if let PieceType::Knight = piece_type {
@@ -2423,12 +2429,14 @@ pub fn add_move_to_movelist(
24232429
}
24242430
pub struct MoveList {
24252431
pub move_list: [[Option<GameMove>; 128]; 100],
2432+
pub graded_moves: [[Option<GradedMove>; 128]; 100],
24262433
pub counter: [usize; 100],
24272434
}
24282435
impl MoveList {
24292436
pub fn new() -> Self {
24302437
MoveList {
24312438
move_list: [[None; 128]; 100],
2439+
graded_moves: [[None; 128]; 100],
24322440
counter: [0; 100],
24332441
}
24342442
}
@@ -2742,21 +2750,23 @@ pub fn generate_moves2(
27422750
stm_haslegalmove |= stm_pawns_single_push != 0u64;
27432751
let stm_pawn_promotions =
27442752
stm_pawns_single_push & bitboards::RANKS[if stm_color_iswhite { 7 } else { 0 }];
2745-
add_pawn_moves_to_movelist(
2746-
movelist,
2747-
stm_pawn_promotions,
2748-
8,
2749-
stm_color_iswhite,
2750-
enemy_pawns,
2751-
enemy_knights,
2752-
enemy_bishops,
2753-
enemy_rooks,
2754-
enemy_queens,
2755-
false,
2756-
true,
2757-
pinned_pieces,
2758-
depth,
2759-
);
2753+
if !only_captures {
2754+
add_pawn_moves_to_movelist(
2755+
movelist,
2756+
stm_pawn_promotions,
2757+
8,
2758+
stm_color_iswhite,
2759+
enemy_pawns,
2760+
enemy_knights,
2761+
enemy_bishops,
2762+
enemy_rooks,
2763+
enemy_queens,
2764+
false,
2765+
true,
2766+
pinned_pieces,
2767+
depth,
2768+
);
2769+
}
27602770
if !only_captures {
27612771
let stm_pawns_quiet_single_push = stm_pawns_single_push & !stm_pawn_promotions;
27622772
add_pawn_moves_to_movelist(
@@ -2977,12 +2987,13 @@ pub fn generate_moves2(
29772987
capture_mask,
29782988
only_captures,
29792989
depth,
2990+
stm_color_iswhite,
29802991
);
2981-
//6.2 Bishops
2992+
//6.4 Queens
29822993
stm_haslegalmove |= add_normal_moves_to_movelist(
29832994
movelist,
2984-
PieceType::Bishop,
2985-
stm_bishops,
2995+
PieceType::Queen,
2996+
stm_queens,
29862997
pinned_pieces,
29872998
enemy_pawns,
29882999
enemy_knights,
@@ -2996,12 +3007,14 @@ pub fn generate_moves2(
29963007
capture_mask,
29973008
only_captures,
29983009
depth,
3010+
stm_color_iswhite,
29993011
);
3000-
//6.3 Rooks
3012+
3013+
//6.2 Bishops
30013014
stm_haslegalmove |= add_normal_moves_to_movelist(
30023015
movelist,
3003-
PieceType::Rook,
3004-
stm_rooks,
3016+
PieceType::Bishop,
3017+
stm_bishops,
30053018
pinned_pieces,
30063019
enemy_pawns,
30073020
enemy_knights,
@@ -3015,12 +3028,13 @@ pub fn generate_moves2(
30153028
capture_mask,
30163029
only_captures,
30173030
depth,
3031+
stm_color_iswhite,
30183032
);
3019-
//6.4 Queens
3033+
//6.3 Rooks
30203034
stm_haslegalmove |= add_normal_moves_to_movelist(
30213035
movelist,
3022-
PieceType::Queen,
3023-
stm_queens,
3036+
PieceType::Rook,
3037+
stm_rooks,
30243038
pinned_pieces,
30253039
enemy_pawns,
30263040
enemy_knights,
@@ -3034,6 +3048,7 @@ pub fn generate_moves2(
30343048
capture_mask,
30353049
only_captures,
30363050
depth,
3051+
stm_color_iswhite,
30373052
);
30383053
//----------------------------------------------------------------------
30393054
//**********************************************************************

0 commit comments

Comments
 (0)