Browser-playable chess plus the original Java console implementation.
Open web/index.html in a browser to play.
Files:
web/index.htmlfor the page structureweb/styles.cssfor the board and layout (dark glass theme, animated board)web/engine.jsfor pure chess rules and state (no DOM — Node-testable)web/ai.jsfor evaluation and searchweb/app.jsfor the UI: rendering, input, sound, history
Features:
- Full legal move validation, verified against known perft counts
- Check, checkmate, stalemate, and draw detection (fifty-move rule, threefold repetition, insufficient material)
- Castling, en passant, and promotion
- Click-to-move board with last-move and in-check highlighting, board flip, and undo
- Move history in algebraic notation and a live captured-material tracker
- Iterative-deepening minimax AI with alpha-beta pruning, quiescence search on captures, and piece-square-table evaluation, bounded by a per-move time budget
- Synthesized sound effects (no external audio assets)
javac -d out src\chess\*.java
java -cp out chess.ChessConsoleApp