js-chess-engine 1.0.2 → 2.0.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 +397 -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 +31 -29
- package/.eslintrc.json +0 -16
- package/.github/workflows/main.yml +0 -20
- package/CHANGELOG.md +0 -587
- 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 -943
- 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 -773
- package/webpack.config.js +0 -12
package/example/aiMatch.mjs
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import jsChessEngine from '../dist/js-chess-engine.js'
|
|
2
|
-
|
|
3
|
-
const whiteAiLevel = 2
|
|
4
|
-
const blackAiLevel = 3
|
|
5
|
-
|
|
6
|
-
const game = new jsChessEngine.Game()
|
|
7
|
-
play()
|
|
8
|
-
|
|
9
|
-
function play () {
|
|
10
|
-
const status = game.exportJson()
|
|
11
|
-
if (status.isFinished) {
|
|
12
|
-
console.log(`${status.turn} is in ${status.checkMate ? 'checkmate' : 'draw'}`)
|
|
13
|
-
} else {
|
|
14
|
-
console.time('Calculated in')
|
|
15
|
-
const move = game.aiMove(status.turn === 'black' ? blackAiLevel : whiteAiLevel)
|
|
16
|
-
console.log(`${status.turn.toUpperCase()} move ${JSON.stringify(move)}`)
|
|
17
|
-
console.timeEnd('Calculated in')
|
|
18
|
-
game.printToConsole()
|
|
19
|
-
play()
|
|
20
|
-
}
|
|
21
|
-
}
|
package/example/console.mjs
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import jsChessEngine from '../dist/js-chess-engine.js'
|
|
2
|
-
import readline from 'readline'
|
|
3
|
-
|
|
4
|
-
const game = new jsChessEngine.Game()
|
|
5
|
-
play()
|
|
6
|
-
|
|
7
|
-
function play () {
|
|
8
|
-
game.printToConsole()
|
|
9
|
-
|
|
10
|
-
let rl = getInput()
|
|
11
|
-
rl.question('From? ', from => {
|
|
12
|
-
rl.close()
|
|
13
|
-
const moves = game.moves(from)
|
|
14
|
-
console.log('Your options: ', moves)
|
|
15
|
-
rl = getInput()
|
|
16
|
-
rl.question('To? ', to => {
|
|
17
|
-
rl.close()
|
|
18
|
-
try {
|
|
19
|
-
game.move(from, to)
|
|
20
|
-
} catch (error) {
|
|
21
|
-
console.log(`Skipping: ${error}`)
|
|
22
|
-
}
|
|
23
|
-
if (game.exportJson().isFinished) {
|
|
24
|
-
console.log('Game over')
|
|
25
|
-
} else {
|
|
26
|
-
play()
|
|
27
|
-
}
|
|
28
|
-
})
|
|
29
|
-
})
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
function getInput () {
|
|
33
|
-
return readline.createInterface({
|
|
34
|
-
input: process.stdin,
|
|
35
|
-
output: process.stdout,
|
|
36
|
-
})
|
|
37
|
-
}
|
package/example/server.mjs
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import fastify from 'fastify'
|
|
2
|
-
import * as cors from 'fastify-cors'
|
|
3
|
-
import jsChessEngine from '../dist/js-chess-engine.js'
|
|
4
|
-
const { move, status, moves, aiMove } = jsChessEngine
|
|
5
|
-
|
|
6
|
-
const ROUTE_MAP = {
|
|
7
|
-
'/moves': moves,
|
|
8
|
-
'/status': status,
|
|
9
|
-
'/move': move,
|
|
10
|
-
'/aimove': aiMove,
|
|
11
|
-
}
|
|
12
|
-
const server = fastify({
|
|
13
|
-
logger: true,
|
|
14
|
-
}).register(cors.default)
|
|
15
|
-
|
|
16
|
-
for (const route in ROUTE_MAP) {
|
|
17
|
-
server.post(route, (request, response) => {
|
|
18
|
-
try {
|
|
19
|
-
const result = ROUTE_MAP[route](request.body, ...Object.values(request.query))
|
|
20
|
-
response.send(result)
|
|
21
|
-
} catch (error) {
|
|
22
|
-
response.code(404).send(error)
|
|
23
|
-
}
|
|
24
|
-
})
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
server.listen(8000, '0.0.0.0')
|