js-chess-engine 1.0.3 → 2.0.1-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +586 -205
- package/dist/adapters/APIAdapter.d.ts +88 -0
- package/dist/adapters/APIAdapter.d.ts.map +1 -0
- package/dist/adapters/APIAdapter.js +225 -0
- package/dist/adapters/APIAdapter.js.map +1 -0
- package/dist/ai/AIEngine.d.ts +42 -0
- package/dist/ai/AIEngine.d.ts.map +1 -0
- package/dist/ai/AIEngine.js +62 -0
- package/dist/ai/AIEngine.js.map +1 -0
- package/dist/ai/Evaluator.d.ts +48 -0
- package/dist/ai/Evaluator.d.ts.map +1 -0
- package/dist/ai/Evaluator.js +248 -0
- package/dist/ai/Evaluator.js.map +1 -0
- package/dist/ai/MoveOrdering.d.ts +60 -0
- package/dist/ai/MoveOrdering.d.ts.map +1 -0
- package/dist/ai/MoveOrdering.js +173 -0
- package/dist/ai/MoveOrdering.js.map +1 -0
- package/dist/ai/Search.d.ts +62 -0
- package/dist/ai/Search.d.ts.map +1 -0
- package/dist/ai/Search.js +340 -0
- package/dist/ai/Search.js.map +1 -0
- package/dist/ai/TranspositionTable.d.ts +100 -0
- package/dist/ai/TranspositionTable.d.ts.map +1 -0
- package/dist/ai/TranspositionTable.js +176 -0
- package/dist/ai/TranspositionTable.js.map +1 -0
- package/dist/core/AttackDetector.d.ts +52 -0
- package/dist/core/AttackDetector.d.ts.map +1 -0
- package/dist/core/AttackDetector.js +387 -0
- package/dist/core/AttackDetector.js.map +1 -0
- package/dist/core/Board.d.ts +109 -0
- package/dist/core/Board.d.ts.map +1 -0
- package/dist/core/Board.js +410 -0
- package/dist/core/Board.js.map +1 -0
- package/dist/core/MoveGenerator.d.ts +48 -0
- package/dist/core/MoveGenerator.d.ts.map +1 -0
- package/dist/core/MoveGenerator.js +678 -0
- package/dist/core/MoveGenerator.js.map +1 -0
- package/dist/core/Position.d.ts +135 -0
- package/dist/core/Position.d.ts.map +1 -0
- package/dist/core/Position.js +351 -0
- package/dist/core/Position.js.map +1 -0
- package/dist/core/index.d.ts +9 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +25 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/zobrist.d.ts +93 -0
- package/dist/core/zobrist.d.ts.map +1 -0
- package/dist/core/zobrist.js +273 -0
- package/dist/core/zobrist.js.map +1 -0
- package/dist/index.d.ts +154 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +353 -0
- package/dist/index.js.map +1 -0
- package/dist/types/ai.types.d.ts +97 -0
- package/dist/types/ai.types.d.ts.map +1 -0
- package/dist/types/ai.types.js +17 -0
- package/dist/types/ai.types.js.map +1 -0
- package/dist/types/board.types.d.ts +140 -0
- package/dist/types/board.types.d.ts.map +1 -0
- package/dist/types/board.types.js +34 -0
- package/dist/types/board.types.js.map +1 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +26 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/move.types.d.ts +70 -0
- package/dist/types/move.types.d.ts.map +1 -0
- package/dist/types/move.types.js +53 -0
- package/dist/types/move.types.js.map +1 -0
- package/dist/utils/constants.d.ts +123 -0
- package/dist/utils/constants.d.ts.map +1 -0
- package/dist/utils/constants.js +259 -0
- package/dist/utils/constants.js.map +1 -0
- package/dist/utils/conversion.d.ts +152 -0
- package/dist/utils/conversion.d.ts.map +1 -0
- package/dist/utils/conversion.js +288 -0
- package/dist/utils/conversion.js.map +1 -0
- package/dist/utils/environment.d.ts +33 -0
- package/dist/utils/environment.d.ts.map +1 -0
- package/dist/utils/environment.js +71 -0
- package/dist/utils/environment.js.map +1 -0
- package/dist/utils/fen.d.ts +28 -0
- package/dist/utils/fen.d.ts.map +1 -0
- package/dist/utils/fen.js +203 -0
- package/dist/utils/fen.js.map +1 -0
- package/package.json +25 -29
- package/.eslintrc.json +0 -16
- package/.github/workflows/main.yml +0 -20
- package/.nvmrc +0 -1
- package/CHANGELOG.md +0 -597
- package/dist/js-chess-engine.js +0 -1
- package/example/aiMatch.mjs +0 -21
- package/example/console.mjs +0 -37
- package/example/server.mjs +0 -27
- package/lib/Board.mjs +0 -946
- package/lib/const/board.mjs +0 -838
- package/lib/js-chess-engine.mjs +0 -99
- package/lib/utils.mjs +0 -154
- package/test/.eslintrc.json +0 -11
- package/test/ai.test.mjs +0 -132
- package/test/badge.svg +0 -1
- package/test/importExport.mjs +0 -108
- package/test/moves.test.mjs +0 -798
- package/webpack.config.js +0 -12
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MoveGenerator.js","sourceRoot":"","sources":["../../src/core/MoveGenerator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Advanced bitboard operations and position utilities
|
|
3
|
+
*
|
|
4
|
+
* This module provides fast bitboard manipulation for move generation
|
|
5
|
+
* and attack detection.
|
|
6
|
+
*/
|
|
7
|
+
import { Bitboard, SquareIndex } from '../types';
|
|
8
|
+
/**
|
|
9
|
+
* File masks (A-H files)
|
|
10
|
+
*/
|
|
11
|
+
export declare const FILE_MASKS: readonly Bitboard[];
|
|
12
|
+
/**
|
|
13
|
+
* Rank masks (1-8 ranks)
|
|
14
|
+
*/
|
|
15
|
+
export declare const RANK_MASKS: readonly Bitboard[];
|
|
16
|
+
/**
|
|
17
|
+
* Diagonal masks (A1-H8 diagonals)
|
|
18
|
+
*/
|
|
19
|
+
export declare const DIAGONAL_MASKS: readonly Bitboard[];
|
|
20
|
+
/**
|
|
21
|
+
* Anti-diagonal masks (H1-A8 diagonals)
|
|
22
|
+
*/
|
|
23
|
+
export declare const ANTI_DIAGONAL_MASKS: readonly Bitboard[];
|
|
24
|
+
/**
|
|
25
|
+
* Edge masks
|
|
26
|
+
*/
|
|
27
|
+
export declare const EDGE_MASK = 18411139144890810879n;
|
|
28
|
+
export declare const NOT_A_FILE = 18374403900871474942n;
|
|
29
|
+
export declare const NOT_H_FILE = 9187201950435737471n;
|
|
30
|
+
export declare const NOT_AB_FILE = 18229723555195321596n;
|
|
31
|
+
export declare const NOT_GH_FILE = 4557430888798830399n;
|
|
32
|
+
export declare const NOT_RANK_1 = 18446744073709551360n;
|
|
33
|
+
export declare const NOT_RANK_8 = 72057594037927935n;
|
|
34
|
+
/**
|
|
35
|
+
* Shift bitboard north (towards rank 8)
|
|
36
|
+
*/
|
|
37
|
+
export declare function shiftNorth(bb: Bitboard): Bitboard;
|
|
38
|
+
/**
|
|
39
|
+
* Shift bitboard south (towards rank 1)
|
|
40
|
+
*/
|
|
41
|
+
export declare function shiftSouth(bb: Bitboard): Bitboard;
|
|
42
|
+
/**
|
|
43
|
+
* Shift bitboard east (towards H-file)
|
|
44
|
+
*/
|
|
45
|
+
export declare function shiftEast(bb: Bitboard): Bitboard;
|
|
46
|
+
/**
|
|
47
|
+
* Shift bitboard west (towards A-file)
|
|
48
|
+
*/
|
|
49
|
+
export declare function shiftWest(bb: Bitboard): Bitboard;
|
|
50
|
+
/**
|
|
51
|
+
* Shift bitboard north-east
|
|
52
|
+
*/
|
|
53
|
+
export declare function shiftNorthEast(bb: Bitboard): Bitboard;
|
|
54
|
+
/**
|
|
55
|
+
* Shift bitboard north-west
|
|
56
|
+
*/
|
|
57
|
+
export declare function shiftNorthWest(bb: Bitboard): Bitboard;
|
|
58
|
+
/**
|
|
59
|
+
* Shift bitboard south-east
|
|
60
|
+
*/
|
|
61
|
+
export declare function shiftSouthEast(bb: Bitboard): Bitboard;
|
|
62
|
+
/**
|
|
63
|
+
* Shift bitboard south-west
|
|
64
|
+
*/
|
|
65
|
+
export declare function shiftSouthWest(bb: Bitboard): Bitboard;
|
|
66
|
+
/**
|
|
67
|
+
* Get file mask for a square
|
|
68
|
+
*/
|
|
69
|
+
export declare function getFileMask(index: SquareIndex): Bitboard;
|
|
70
|
+
/**
|
|
71
|
+
* Get rank mask for a square
|
|
72
|
+
*/
|
|
73
|
+
export declare function getRankMask(index: SquareIndex): Bitboard;
|
|
74
|
+
/**
|
|
75
|
+
* Get diagonal mask for a square (A1-H8 direction)
|
|
76
|
+
*/
|
|
77
|
+
export declare function getDiagonalMask(index: SquareIndex): Bitboard;
|
|
78
|
+
/**
|
|
79
|
+
* Get anti-diagonal mask for a square (H1-A8 direction)
|
|
80
|
+
*/
|
|
81
|
+
export declare function getAntiDiagonalMask(index: SquareIndex): Bitboard;
|
|
82
|
+
/**
|
|
83
|
+
* Generate ray attacks in a direction using classical approach
|
|
84
|
+
* (used for move generation and attack detection)
|
|
85
|
+
*/
|
|
86
|
+
export declare function rayAttacks(square: SquareIndex, occupied: Bitboard, direction: number): Bitboard;
|
|
87
|
+
/**
|
|
88
|
+
* Generate all rook attacks from a square (classical approach)
|
|
89
|
+
*/
|
|
90
|
+
export declare function getRookAttacks(square: SquareIndex, occupied: Bitboard): Bitboard;
|
|
91
|
+
/**
|
|
92
|
+
* Generate all bishop attacks from a square (classical approach)
|
|
93
|
+
*/
|
|
94
|
+
export declare function getBishopAttacks(square: SquareIndex, occupied: Bitboard): Bitboard;
|
|
95
|
+
/**
|
|
96
|
+
* Generate all queen attacks from a square (classical approach)
|
|
97
|
+
*/
|
|
98
|
+
export declare function getQueenAttacks(square: SquareIndex, occupied: Bitboard): Bitboard;
|
|
99
|
+
/**
|
|
100
|
+
* Pre-computed king attack bitboards for each square
|
|
101
|
+
*/
|
|
102
|
+
export declare const KING_ATTACKS: Bitboard[];
|
|
103
|
+
/**
|
|
104
|
+
* Pre-computed knight attack bitboards for each square
|
|
105
|
+
*/
|
|
106
|
+
export declare const KNIGHT_ATTACKS: Bitboard[];
|
|
107
|
+
/**
|
|
108
|
+
* Initialize pre-computed attack tables
|
|
109
|
+
*/
|
|
110
|
+
export declare function initializeAttackTables(): void;
|
|
111
|
+
/**
|
|
112
|
+
* Get king attacks for a square
|
|
113
|
+
*/
|
|
114
|
+
export declare function getKingAttacks(square: SquareIndex): Bitboard;
|
|
115
|
+
/**
|
|
116
|
+
* Get knight attacks for a square
|
|
117
|
+
*/
|
|
118
|
+
export declare function getKnightAttacks(square: SquareIndex): Bitboard;
|
|
119
|
+
/**
|
|
120
|
+
* Get white pawn attacks for a square
|
|
121
|
+
*/
|
|
122
|
+
export declare function getWhitePawnAttacks(square: SquareIndex): Bitboard;
|
|
123
|
+
/**
|
|
124
|
+
* Get black pawn attacks for a square
|
|
125
|
+
*/
|
|
126
|
+
export declare function getBlackPawnAttacks(square: SquareIndex): Bitboard;
|
|
127
|
+
/**
|
|
128
|
+
* Get all white pawn attacks from a bitboard of white pawns
|
|
129
|
+
*/
|
|
130
|
+
export declare function getWhitePawnsAttacks(pawns: Bitboard): Bitboard;
|
|
131
|
+
/**
|
|
132
|
+
* Get all black pawn attacks from a bitboard of black pawns
|
|
133
|
+
*/
|
|
134
|
+
export declare function getBlackPawnsAttacks(pawns: Bitboard): Bitboard;
|
|
135
|
+
//# sourceMappingURL=Position.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Position.d.ts","sourceRoot":"","sources":["../../src/core/Position.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAwB,MAAM,UAAU,CAAC;AAKvE;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,SAAS,QAAQ,EASzC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,SAAS,QAAQ,EASzC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,QAAQ,EAgB7C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAAS,QAAQ,EAgBlD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,wBAAsB,CAAC;AAC7C,eAAO,MAAM,UAAU,wBAAsB,CAAC;AAC9C,eAAO,MAAM,UAAU,uBAAsB,CAAC;AAC9C,eAAO,MAAM,WAAW,wBAAsB,CAAC;AAC/C,eAAO,MAAM,WAAW,uBAAsB,CAAC;AAC/C,eAAO,MAAM,UAAU,wBAAsB,CAAC;AAC9C,eAAO,MAAM,UAAU,qBAAsB,CAAC;AAI9C;;GAEG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,QAAQ,GAAG,QAAQ,CAEjD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,QAAQ,GAAG,QAAQ,CAEjD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,QAAQ,GAAG,QAAQ,CAEhD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,QAAQ,GAAG,QAAQ,CAEhD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,QAAQ,GAAG,QAAQ,CAErD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,QAAQ,GAAG,QAAQ,CAErD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,QAAQ,GAAG,QAAQ,CAErD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,QAAQ,GAAG,QAAQ,CAErD;AAID;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,QAAQ,CAGxD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,QAAQ,CAGxD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,WAAW,GAAG,QAAQ,CAK5D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,GAAG,QAAQ,CAKhE;AAID;;;GAGG;AACH,wBAAgB,UAAU,CACtB,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,MAAM,GAClB,QAAQ,CAuCV;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAOhF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAOlF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAEjF;AAID;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,QAAQ,EAAkB,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,QAAQ,EAAkB,CAAC;AAExD;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAqC7C;AAKD;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,QAAQ,CAG5D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,QAAQ,CAG9D;AAID;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,QAAQ,CAGjE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,QAAQ,CAGjE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,CAE9D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,CAE9D"}
|
|
@@ -0,0 +1,351 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Advanced bitboard operations and position utilities
|
|
4
|
+
*
|
|
5
|
+
* This module provides fast bitboard manipulation for move generation
|
|
6
|
+
* and attack detection.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.KNIGHT_ATTACKS = exports.KING_ATTACKS = exports.NOT_RANK_8 = exports.NOT_RANK_1 = exports.NOT_GH_FILE = exports.NOT_AB_FILE = exports.NOT_H_FILE = exports.NOT_A_FILE = exports.EDGE_MASK = exports.ANTI_DIAGONAL_MASKS = exports.DIAGONAL_MASKS = exports.RANK_MASKS = exports.FILE_MASKS = void 0;
|
|
10
|
+
exports.shiftNorth = shiftNorth;
|
|
11
|
+
exports.shiftSouth = shiftSouth;
|
|
12
|
+
exports.shiftEast = shiftEast;
|
|
13
|
+
exports.shiftWest = shiftWest;
|
|
14
|
+
exports.shiftNorthEast = shiftNorthEast;
|
|
15
|
+
exports.shiftNorthWest = shiftNorthWest;
|
|
16
|
+
exports.shiftSouthEast = shiftSouthEast;
|
|
17
|
+
exports.shiftSouthWest = shiftSouthWest;
|
|
18
|
+
exports.getFileMask = getFileMask;
|
|
19
|
+
exports.getRankMask = getRankMask;
|
|
20
|
+
exports.getDiagonalMask = getDiagonalMask;
|
|
21
|
+
exports.getAntiDiagonalMask = getAntiDiagonalMask;
|
|
22
|
+
exports.rayAttacks = rayAttacks;
|
|
23
|
+
exports.getRookAttacks = getRookAttacks;
|
|
24
|
+
exports.getBishopAttacks = getBishopAttacks;
|
|
25
|
+
exports.getQueenAttacks = getQueenAttacks;
|
|
26
|
+
exports.initializeAttackTables = initializeAttackTables;
|
|
27
|
+
exports.getKingAttacks = getKingAttacks;
|
|
28
|
+
exports.getKnightAttacks = getKnightAttacks;
|
|
29
|
+
exports.getWhitePawnAttacks = getWhitePawnAttacks;
|
|
30
|
+
exports.getBlackPawnAttacks = getBlackPawnAttacks;
|
|
31
|
+
exports.getWhitePawnsAttacks = getWhitePawnsAttacks;
|
|
32
|
+
exports.getBlackPawnsAttacks = getBlackPawnsAttacks;
|
|
33
|
+
const conversion_1 = require("../utils/conversion");
|
|
34
|
+
// ==================== Bitboard Masks ====================
|
|
35
|
+
/**
|
|
36
|
+
* File masks (A-H files)
|
|
37
|
+
*/
|
|
38
|
+
exports.FILE_MASKS = [
|
|
39
|
+
0x0101010101010101n, // A-file
|
|
40
|
+
0x0202020202020202n, // B-file
|
|
41
|
+
0x0404040404040404n, // C-file
|
|
42
|
+
0x0808080808080808n, // D-file
|
|
43
|
+
0x1010101010101010n, // E-file
|
|
44
|
+
0x2020202020202020n, // F-file
|
|
45
|
+
0x4040404040404040n, // G-file
|
|
46
|
+
0x8080808080808080n, // H-file
|
|
47
|
+
];
|
|
48
|
+
/**
|
|
49
|
+
* Rank masks (1-8 ranks)
|
|
50
|
+
*/
|
|
51
|
+
exports.RANK_MASKS = [
|
|
52
|
+
0x00000000000000ffn, // Rank 1
|
|
53
|
+
0x000000000000ff00n, // Rank 2
|
|
54
|
+
0x0000000000ff0000n, // Rank 3
|
|
55
|
+
0x00000000ff000000n, // Rank 4
|
|
56
|
+
0x000000ff00000000n, // Rank 5
|
|
57
|
+
0x0000ff0000000000n, // Rank 6
|
|
58
|
+
0x00ff000000000000n, // Rank 7
|
|
59
|
+
0xff00000000000000n, // Rank 8
|
|
60
|
+
];
|
|
61
|
+
/**
|
|
62
|
+
* Diagonal masks (A1-H8 diagonals)
|
|
63
|
+
*/
|
|
64
|
+
exports.DIAGONAL_MASKS = [
|
|
65
|
+
0x0000000000000001n,
|
|
66
|
+
0x0000000000000102n,
|
|
67
|
+
0x0000000000010204n,
|
|
68
|
+
0x0000000001020408n,
|
|
69
|
+
0x0000000102040810n,
|
|
70
|
+
0x0000010204081020n,
|
|
71
|
+
0x0001020408102040n,
|
|
72
|
+
0x0102040810204080n,
|
|
73
|
+
0x0204081020408000n,
|
|
74
|
+
0x0408102040800000n,
|
|
75
|
+
0x0810204080000000n,
|
|
76
|
+
0x1020408000000000n,
|
|
77
|
+
0x2040800000000000n,
|
|
78
|
+
0x4080000000000000n,
|
|
79
|
+
0x8000000000000000n,
|
|
80
|
+
];
|
|
81
|
+
/**
|
|
82
|
+
* Anti-diagonal masks (H1-A8 diagonals)
|
|
83
|
+
*/
|
|
84
|
+
exports.ANTI_DIAGONAL_MASKS = [
|
|
85
|
+
0x0000000000000080n,
|
|
86
|
+
0x0000000000008040n,
|
|
87
|
+
0x0000000000804020n,
|
|
88
|
+
0x0000000080402010n,
|
|
89
|
+
0x0000008040201008n,
|
|
90
|
+
0x0000804020100804n,
|
|
91
|
+
0x0080402010080402n,
|
|
92
|
+
0x8040201008040201n,
|
|
93
|
+
0x4020100804020100n,
|
|
94
|
+
0x2010080402010000n,
|
|
95
|
+
0x1008040201000000n,
|
|
96
|
+
0x0804020100000000n,
|
|
97
|
+
0x0402010000000000n,
|
|
98
|
+
0x0201000000000000n,
|
|
99
|
+
0x0100000000000000n,
|
|
100
|
+
];
|
|
101
|
+
/**
|
|
102
|
+
* Edge masks
|
|
103
|
+
*/
|
|
104
|
+
exports.EDGE_MASK = 0xff818181818181ffn;
|
|
105
|
+
exports.NOT_A_FILE = 0xfefefefefefefefen;
|
|
106
|
+
exports.NOT_H_FILE = 0x7f7f7f7f7f7f7f7fn;
|
|
107
|
+
exports.NOT_AB_FILE = 0xfcfcfcfcfcfcfcfcn;
|
|
108
|
+
exports.NOT_GH_FILE = 0x3f3f3f3f3f3f3f3fn;
|
|
109
|
+
exports.NOT_RANK_1 = 0xffffffffffffff00n;
|
|
110
|
+
exports.NOT_RANK_8 = 0x00ffffffffffffffn;
|
|
111
|
+
// ==================== Bitboard Shifting ====================
|
|
112
|
+
/**
|
|
113
|
+
* Shift bitboard north (towards rank 8)
|
|
114
|
+
*/
|
|
115
|
+
function shiftNorth(bb) {
|
|
116
|
+
return (bb & exports.NOT_RANK_8) << 8n;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Shift bitboard south (towards rank 1)
|
|
120
|
+
*/
|
|
121
|
+
function shiftSouth(bb) {
|
|
122
|
+
return (bb & exports.NOT_RANK_1) >> 8n;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Shift bitboard east (towards H-file)
|
|
126
|
+
*/
|
|
127
|
+
function shiftEast(bb) {
|
|
128
|
+
return (bb & exports.NOT_H_FILE) << 1n;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Shift bitboard west (towards A-file)
|
|
132
|
+
*/
|
|
133
|
+
function shiftWest(bb) {
|
|
134
|
+
return (bb & exports.NOT_A_FILE) >> 1n;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Shift bitboard north-east
|
|
138
|
+
*/
|
|
139
|
+
function shiftNorthEast(bb) {
|
|
140
|
+
return (bb & exports.NOT_H_FILE & exports.NOT_RANK_8) << 9n;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Shift bitboard north-west
|
|
144
|
+
*/
|
|
145
|
+
function shiftNorthWest(bb) {
|
|
146
|
+
return (bb & exports.NOT_A_FILE & exports.NOT_RANK_8) << 7n;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Shift bitboard south-east
|
|
150
|
+
*/
|
|
151
|
+
function shiftSouthEast(bb) {
|
|
152
|
+
return (bb & exports.NOT_H_FILE & exports.NOT_RANK_1) >> 7n;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Shift bitboard south-west
|
|
156
|
+
*/
|
|
157
|
+
function shiftSouthWest(bb) {
|
|
158
|
+
return (bb & exports.NOT_A_FILE & exports.NOT_RANK_1) >> 9n;
|
|
159
|
+
}
|
|
160
|
+
// ==================== Square Bitboard Helpers ====================
|
|
161
|
+
/**
|
|
162
|
+
* Get file mask for a square
|
|
163
|
+
*/
|
|
164
|
+
function getFileMask(index) {
|
|
165
|
+
const file = (0, conversion_1.getFileIndex)(index);
|
|
166
|
+
return exports.FILE_MASKS[file];
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Get rank mask for a square
|
|
170
|
+
*/
|
|
171
|
+
function getRankMask(index) {
|
|
172
|
+
const rank = (0, conversion_1.getRankIndex)(index);
|
|
173
|
+
return exports.RANK_MASKS[rank];
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Get diagonal mask for a square (A1-H8 direction)
|
|
177
|
+
*/
|
|
178
|
+
function getDiagonalMask(index) {
|
|
179
|
+
const file = (0, conversion_1.getFileIndex)(index);
|
|
180
|
+
const rank = (0, conversion_1.getRankIndex)(index);
|
|
181
|
+
const diagonalIndex = 7 + rank - file;
|
|
182
|
+
return exports.DIAGONAL_MASKS[diagonalIndex];
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Get anti-diagonal mask for a square (H1-A8 direction)
|
|
186
|
+
*/
|
|
187
|
+
function getAntiDiagonalMask(index) {
|
|
188
|
+
const file = (0, conversion_1.getFileIndex)(index);
|
|
189
|
+
const rank = (0, conversion_1.getRankIndex)(index);
|
|
190
|
+
const antiDiagonalIndex = rank + file;
|
|
191
|
+
return exports.ANTI_DIAGONAL_MASKS[antiDiagonalIndex];
|
|
192
|
+
}
|
|
193
|
+
// ==================== Ray Attacks ====================
|
|
194
|
+
/**
|
|
195
|
+
* Generate ray attacks in a direction using classical approach
|
|
196
|
+
* (used for move generation and attack detection)
|
|
197
|
+
*/
|
|
198
|
+
function rayAttacks(square, occupied, direction) {
|
|
199
|
+
let attacks = 0n;
|
|
200
|
+
let current = square;
|
|
201
|
+
while (true) {
|
|
202
|
+
const next = current + direction;
|
|
203
|
+
// Check bounds
|
|
204
|
+
if (next < 0 || next > 63)
|
|
205
|
+
break;
|
|
206
|
+
// Check if we wrapped around (file changed incorrectly)
|
|
207
|
+
const currentFile = (0, conversion_1.getFileIndex)(current);
|
|
208
|
+
const nextFile = (0, conversion_1.getFileIndex)(next);
|
|
209
|
+
const fileDiff = Math.abs(nextFile - currentFile);
|
|
210
|
+
// For horizontal moves, file diff should be 1
|
|
211
|
+
// For vertical moves, file diff should be 0
|
|
212
|
+
// For diagonal moves, file diff should be 1
|
|
213
|
+
if (direction === 1 || direction === -1) {
|
|
214
|
+
// East/West
|
|
215
|
+
if (fileDiff !== 1)
|
|
216
|
+
break;
|
|
217
|
+
}
|
|
218
|
+
else if (direction === 8 || direction === -8) {
|
|
219
|
+
// North/South
|
|
220
|
+
if (fileDiff !== 0)
|
|
221
|
+
break;
|
|
222
|
+
}
|
|
223
|
+
else {
|
|
224
|
+
// Diagonal
|
|
225
|
+
if (fileDiff !== 1)
|
|
226
|
+
break;
|
|
227
|
+
}
|
|
228
|
+
const bit = 1n << BigInt(next);
|
|
229
|
+
attacks |= bit;
|
|
230
|
+
// Stop if we hit a piece
|
|
231
|
+
if (occupied & bit)
|
|
232
|
+
break;
|
|
233
|
+
current = next;
|
|
234
|
+
}
|
|
235
|
+
return attacks;
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Generate all rook attacks from a square (classical approach)
|
|
239
|
+
*/
|
|
240
|
+
function getRookAttacks(square, occupied) {
|
|
241
|
+
return (rayAttacks(square, occupied, 8) | // North
|
|
242
|
+
rayAttacks(square, occupied, -8) | // South
|
|
243
|
+
rayAttacks(square, occupied, 1) | // East
|
|
244
|
+
rayAttacks(square, occupied, -1) // West
|
|
245
|
+
);
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* Generate all bishop attacks from a square (classical approach)
|
|
249
|
+
*/
|
|
250
|
+
function getBishopAttacks(square, occupied) {
|
|
251
|
+
return (rayAttacks(square, occupied, 9) | // North-East
|
|
252
|
+
rayAttacks(square, occupied, 7) | // North-West
|
|
253
|
+
rayAttacks(square, occupied, -7) | // South-East
|
|
254
|
+
rayAttacks(square, occupied, -9) // South-West
|
|
255
|
+
);
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* Generate all queen attacks from a square (classical approach)
|
|
259
|
+
*/
|
|
260
|
+
function getQueenAttacks(square, occupied) {
|
|
261
|
+
return getRookAttacks(square, occupied) | getBishopAttacks(square, occupied);
|
|
262
|
+
}
|
|
263
|
+
// ==================== King and Knight Attacks ====================
|
|
264
|
+
/**
|
|
265
|
+
* Pre-computed king attack bitboards for each square
|
|
266
|
+
*/
|
|
267
|
+
exports.KING_ATTACKS = new Array(64);
|
|
268
|
+
/**
|
|
269
|
+
* Pre-computed knight attack bitboards for each square
|
|
270
|
+
*/
|
|
271
|
+
exports.KNIGHT_ATTACKS = new Array(64);
|
|
272
|
+
/**
|
|
273
|
+
* Initialize pre-computed attack tables
|
|
274
|
+
*/
|
|
275
|
+
function initializeAttackTables() {
|
|
276
|
+
// Initialize king attacks
|
|
277
|
+
for (let sq = 0; sq < 64; sq++) {
|
|
278
|
+
let attacks = 0n;
|
|
279
|
+
const sqBit = 1n << BigInt(sq);
|
|
280
|
+
// King can move one square in all 8 directions
|
|
281
|
+
attacks |= shiftNorth(sqBit);
|
|
282
|
+
attacks |= shiftSouth(sqBit);
|
|
283
|
+
attacks |= shiftEast(sqBit);
|
|
284
|
+
attacks |= shiftWest(sqBit);
|
|
285
|
+
attacks |= shiftNorthEast(sqBit);
|
|
286
|
+
attacks |= shiftNorthWest(sqBit);
|
|
287
|
+
attacks |= shiftSouthEast(sqBit);
|
|
288
|
+
attacks |= shiftSouthWest(sqBit);
|
|
289
|
+
exports.KING_ATTACKS[sq] = attacks;
|
|
290
|
+
}
|
|
291
|
+
// Initialize knight attacks
|
|
292
|
+
for (let sq = 0; sq < 64; sq++) {
|
|
293
|
+
let attacks = 0n;
|
|
294
|
+
const sqBit = 1n << BigInt(sq);
|
|
295
|
+
// Knight moves in L-shape: 2 squares in one direction, 1 in perpendicular
|
|
296
|
+
const nnw = shiftNorth(shiftNorth(shiftWest(sqBit)));
|
|
297
|
+
const nne = shiftNorth(shiftNorth(shiftEast(sqBit)));
|
|
298
|
+
const nee = shiftEast(shiftEast(shiftNorth(sqBit)));
|
|
299
|
+
const see = shiftEast(shiftEast(shiftSouth(sqBit)));
|
|
300
|
+
const sse = shiftSouth(shiftSouth(shiftEast(sqBit)));
|
|
301
|
+
const ssw = shiftSouth(shiftSouth(shiftWest(sqBit)));
|
|
302
|
+
const sww = shiftWest(shiftWest(shiftSouth(sqBit)));
|
|
303
|
+
const nww = shiftWest(shiftWest(shiftNorth(sqBit)));
|
|
304
|
+
attacks = nnw | nne | nee | see | sse | ssw | sww | nww;
|
|
305
|
+
exports.KNIGHT_ATTACKS[sq] = attacks;
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
// Initialize on module load
|
|
309
|
+
initializeAttackTables();
|
|
310
|
+
/**
|
|
311
|
+
* Get king attacks for a square
|
|
312
|
+
*/
|
|
313
|
+
function getKingAttacks(square) {
|
|
314
|
+
const attacks = exports.KING_ATTACKS[square];
|
|
315
|
+
return attacks !== undefined ? attacks : 0n;
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* Get knight attacks for a square
|
|
319
|
+
*/
|
|
320
|
+
function getKnightAttacks(square) {
|
|
321
|
+
const attacks = exports.KNIGHT_ATTACKS[square];
|
|
322
|
+
return attacks !== undefined ? attacks : 0n;
|
|
323
|
+
}
|
|
324
|
+
// ==================== Pawn Attacks ====================
|
|
325
|
+
/**
|
|
326
|
+
* Get white pawn attacks for a square
|
|
327
|
+
*/
|
|
328
|
+
function getWhitePawnAttacks(square) {
|
|
329
|
+
const sqBit = 1n << BigInt(square);
|
|
330
|
+
return shiftNorthEast(sqBit) | shiftNorthWest(sqBit);
|
|
331
|
+
}
|
|
332
|
+
/**
|
|
333
|
+
* Get black pawn attacks for a square
|
|
334
|
+
*/
|
|
335
|
+
function getBlackPawnAttacks(square) {
|
|
336
|
+
const sqBit = 1n << BigInt(square);
|
|
337
|
+
return shiftSouthEast(sqBit) | shiftSouthWest(sqBit);
|
|
338
|
+
}
|
|
339
|
+
/**
|
|
340
|
+
* Get all white pawn attacks from a bitboard of white pawns
|
|
341
|
+
*/
|
|
342
|
+
function getWhitePawnsAttacks(pawns) {
|
|
343
|
+
return shiftNorthEast(pawns) | shiftNorthWest(pawns);
|
|
344
|
+
}
|
|
345
|
+
/**
|
|
346
|
+
* Get all black pawn attacks from a bitboard of black pawns
|
|
347
|
+
*/
|
|
348
|
+
function getBlackPawnsAttacks(pawns) {
|
|
349
|
+
return shiftSouthEast(pawns) | shiftSouthWest(pawns);
|
|
350
|
+
}
|
|
351
|
+
//# sourceMappingURL=Position.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Position.js","sourceRoot":"","sources":["../../src/core/Position.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Core module exports
|
|
4
|
+
*/
|
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
+
}
|
|
11
|
+
Object.defineProperty(o, k2, desc);
|
|
12
|
+
}) : (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
}));
|
|
16
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
17
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
18
|
+
};
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
__exportStar(require("./Board"), exports);
|
|
21
|
+
__exportStar(require("./Position"), exports);
|
|
22
|
+
__exportStar(require("./AttackDetector"), exports);
|
|
23
|
+
__exportStar(require("./MoveGenerator"), exports);
|
|
24
|
+
__exportStar(require("./zobrist"), exports);
|
|
25
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;AAEH,0CAAwB;AACxB,6CAA2B;AAC3B,mDAAiC;AACjC,kDAAgC;AAChC,4CAA0B"}
|