MCPcopy Index your code
hub / github.com/coding-parrot/chess-engine

github.com/coding-parrot/chess-engine @1.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.0 ↗ · + Follow
278 symbols 1,814 edges 27 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

chess-engine

Chess Move Generator Tests

Part 1:

The chess engine can generate all legal moves for a given position upto an arbitrary depth. This includes: Move Engine

-- pawn promotions
-- enpassant moves
-- castling

The moves which are marked illegal are:

-- x-rays to the king
-- castling through check
-- moves of a piece pinned to the king
-- moving into check
-- enpassant after one move

The current move generator takes about 2 minutes to go to a depth of 6 ply.

Part 2: Game Engine (In progress)

The game engine will use the move generator to select a move. The first version will be using a min-max tree with optimisations to find the best move.

This includes:

-- basic heuristic ✅
-- iterative deepening ✅
-- alpha-beta pruning ✅
-- killer heuristic
-- quiescence search
-- null heuristic
-- parallel alpha-beta

Part 3: Stochastic Chess Engine (In planning)

The second version of the chess engine will use Monte Carlo Tree Search with basic hueristics.

I do not hope much from it, since I don't have experience with neural network training and the compute power required to train NNs is usually high (I have a GPU, so not all hope lost).

Core symbols most depended-on inside this repo

getPiece
called by 219
src/main/java/game/Board.java
getMoveList
called by 186
src/main/java/game/Board.java
get
called by 145
src/main/java/game/Move.java
placePawn
called by 118
src/main/java/game/Board.java
placeRook
called by 108
src/main/java/game/Board.java
get
called by 86
src/main/java/game/Cell.java
placeKing
called by 71
src/main/java/game/Board.java
sameType
called by 70
src/main/java/commons/Piece.java

Shape

Method 247
Class 29
Enum 2

Languages

Java100%

Modules by API surface

src/main/java/game/Board.java47 symbols
src/test/java/EngineTest.java42 symbols
src/test/java/KingTest.java23 symbols
src/main/java/Engine.java19 symbols
src/test/java/BoardTest.java16 symbols
src/test/java/IntenseTest.java14 symbols
src/test/java/PawnTest.java12 symbols
src/test/java/KnightTest.java12 symbols
src/test/java/QueenTest.java11 symbols
src/test/java/MinMaxTest.java11 symbols
src/main/java/commons/Piece.java11 symbols
src/test/java/RookTest.java7 symbols

For agents

$ claude mcp add chess-engine \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact