github ↗

The hands. BoardTemplate receives a move vector, turns it into a square, checks the move is legal, and renders the resulting chess position.

A Java chess engine + renderer. VectorToBoardTranslator maps a vector into discrete board coordinates; VectorMoveValidator enforces piece rules and captures; Board holds and draws the 8×8 state; GameStats tracks the game. BoardMain is the runnable that drives it all from vectors.

how it works

The translation is deliberately non-trivial: clamp the vector into [0,1], flip, scale to the grid, and chaotically mix so every digit affects every output coordinate — then the validator gets the last word on whether the resulting move is even allowed. The board is the place where a stream of numbers becomes a played game.

compile & run
# build (JDK 17) mvn compile # run the board (entry: BoardMain) java -cp target/classes BoardTemplate.game.BoardMain
chess board state rendering validation java
active
01 screenshot
02 screenshot
03 screenshot

#checkmate is only a vector the board agreed to believe.

(0.42, 0.91) → e2a float lands somewhere; the validator has the last word on whether it was a move at all.

O-Othe king runs only to the square the numbers point at — and not one file further.

the board does not know who is winning. it knows where every piece stands. that is enough.