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.
Files changed (103) hide show
  1. package/README.md +586 -205
  2. package/dist/adapters/APIAdapter.d.ts +88 -0
  3. package/dist/adapters/APIAdapter.d.ts.map +1 -0
  4. package/dist/adapters/APIAdapter.js +225 -0
  5. package/dist/adapters/APIAdapter.js.map +1 -0
  6. package/dist/ai/AIEngine.d.ts +42 -0
  7. package/dist/ai/AIEngine.d.ts.map +1 -0
  8. package/dist/ai/AIEngine.js +62 -0
  9. package/dist/ai/AIEngine.js.map +1 -0
  10. package/dist/ai/Evaluator.d.ts +48 -0
  11. package/dist/ai/Evaluator.d.ts.map +1 -0
  12. package/dist/ai/Evaluator.js +248 -0
  13. package/dist/ai/Evaluator.js.map +1 -0
  14. package/dist/ai/MoveOrdering.d.ts +60 -0
  15. package/dist/ai/MoveOrdering.d.ts.map +1 -0
  16. package/dist/ai/MoveOrdering.js +173 -0
  17. package/dist/ai/MoveOrdering.js.map +1 -0
  18. package/dist/ai/Search.d.ts +62 -0
  19. package/dist/ai/Search.d.ts.map +1 -0
  20. package/dist/ai/Search.js +340 -0
  21. package/dist/ai/Search.js.map +1 -0
  22. package/dist/ai/TranspositionTable.d.ts +100 -0
  23. package/dist/ai/TranspositionTable.d.ts.map +1 -0
  24. package/dist/ai/TranspositionTable.js +176 -0
  25. package/dist/ai/TranspositionTable.js.map +1 -0
  26. package/dist/core/AttackDetector.d.ts +52 -0
  27. package/dist/core/AttackDetector.d.ts.map +1 -0
  28. package/dist/core/AttackDetector.js +397 -0
  29. package/dist/core/AttackDetector.js.map +1 -0
  30. package/dist/core/Board.d.ts +109 -0
  31. package/dist/core/Board.d.ts.map +1 -0
  32. package/dist/core/Board.js +410 -0
  33. package/dist/core/Board.js.map +1 -0
  34. package/dist/core/MoveGenerator.d.ts +48 -0
  35. package/dist/core/MoveGenerator.d.ts.map +1 -0
  36. package/dist/core/MoveGenerator.js +678 -0
  37. package/dist/core/MoveGenerator.js.map +1 -0
  38. package/dist/core/Position.d.ts +135 -0
  39. package/dist/core/Position.d.ts.map +1 -0
  40. package/dist/core/Position.js +351 -0
  41. package/dist/core/Position.js.map +1 -0
  42. package/dist/core/index.d.ts +9 -0
  43. package/dist/core/index.d.ts.map +1 -0
  44. package/dist/core/index.js +25 -0
  45. package/dist/core/index.js.map +1 -0
  46. package/dist/core/zobrist.d.ts +93 -0
  47. package/dist/core/zobrist.d.ts.map +1 -0
  48. package/dist/core/zobrist.js +273 -0
  49. package/dist/core/zobrist.js.map +1 -0
  50. package/dist/index.d.ts +154 -0
  51. package/dist/index.d.ts.map +1 -0
  52. package/dist/index.js +353 -0
  53. package/dist/index.js.map +1 -0
  54. package/dist/types/ai.types.d.ts +97 -0
  55. package/dist/types/ai.types.d.ts.map +1 -0
  56. package/dist/types/ai.types.js +17 -0
  57. package/dist/types/ai.types.js.map +1 -0
  58. package/dist/types/board.types.d.ts +140 -0
  59. package/dist/types/board.types.d.ts.map +1 -0
  60. package/dist/types/board.types.js +34 -0
  61. package/dist/types/board.types.js.map +1 -0
  62. package/dist/types/index.d.ts +7 -0
  63. package/dist/types/index.d.ts.map +1 -0
  64. package/dist/types/index.js +26 -0
  65. package/dist/types/index.js.map +1 -0
  66. package/dist/types/move.types.d.ts +70 -0
  67. package/dist/types/move.types.d.ts.map +1 -0
  68. package/dist/types/move.types.js +53 -0
  69. package/dist/types/move.types.js.map +1 -0
  70. package/dist/utils/constants.d.ts +123 -0
  71. package/dist/utils/constants.d.ts.map +1 -0
  72. package/dist/utils/constants.js +259 -0
  73. package/dist/utils/constants.js.map +1 -0
  74. package/dist/utils/conversion.d.ts +152 -0
  75. package/dist/utils/conversion.d.ts.map +1 -0
  76. package/dist/utils/conversion.js +288 -0
  77. package/dist/utils/conversion.js.map +1 -0
  78. package/dist/utils/environment.d.ts +33 -0
  79. package/dist/utils/environment.d.ts.map +1 -0
  80. package/dist/utils/environment.js +71 -0
  81. package/dist/utils/environment.js.map +1 -0
  82. package/dist/utils/fen.d.ts +28 -0
  83. package/dist/utils/fen.d.ts.map +1 -0
  84. package/dist/utils/fen.js +203 -0
  85. package/dist/utils/fen.js.map +1 -0
  86. package/package.json +31 -29
  87. package/.eslintrc.json +0 -16
  88. package/.github/workflows/main.yml +0 -20
  89. package/CHANGELOG.md +0 -587
  90. package/dist/js-chess-engine.js +0 -1
  91. package/example/aiMatch.mjs +0 -21
  92. package/example/console.mjs +0 -37
  93. package/example/server.mjs +0 -27
  94. package/lib/Board.mjs +0 -943
  95. package/lib/const/board.mjs +0 -838
  96. package/lib/js-chess-engine.mjs +0 -99
  97. package/lib/utils.mjs +0 -154
  98. package/test/.eslintrc.json +0 -11
  99. package/test/ai.test.mjs +0 -132
  100. package/test/badge.svg +0 -1
  101. package/test/importExport.mjs +0 -108
  102. package/test/moves.test.mjs +0 -773
  103. package/webpack.config.js +0 -12
@@ -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
- }
@@ -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
- }
@@ -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')