How danielycouturier/java-chess works
This Java desktop chess game takes player clicks through a Swing view into a controller, which selects pieces, checks legal moves, updates the board, and asks the view to show highlights and move animations. The model covers piece-specific movement, simulated-move safety checks, check, checkmate, stalemate, castling, en passant, and pawn promotion. The README documents the entry point and replay loop, while sampled code confirms the main game, controller, board, and panel interactions. Some peripheral wiring is omitted because its source was not sampled.
Main entry points: ChessBoard.java Board state · ChessPiece.java Piece base · GamePanel.java Game panel · Game.java Game loop
Components 15
Game runtime
- Entry point
EntryPoint.java - Game loop
Game.java
Player control
- Logic controller
LogicController.java
Chess rules
- Board state
ChessBoard.java - Piece base
ChessPiece.java - Pawn rules
Pawn.java - King rules
King.java - Knight rules
Knight.java - Bishop rules
Bishop.java - Rook rules
Rook.java - Queen rules
Queen.java
Swing interface
- Game window
GameFrame.java - Game panel
GamePanel.java - Mouse handler
MouseHandler.java
Other components
- Player
Connections 22
- Player → Game panel: clicks
- Entry point → Game loop: starts loop
- Game loop → Logic controller: dispatches input
- Game loop → Game panel: updates and repaints
- Game loop → Game window: creates window
- Game panel → Mouse handler: reads clicks
- Game panel → Board state: renders pieces
- Logic controller → Board state: checks and updates
- Logic controller → Game panel: moves and highlights
- Board state → Piece base: checks moves
- Board state → Pawn rules: creates pieces
- Board state → King rules: creates pieces
- Board state → Knight rules: creates pieces
- Board state → Bishop rules: creates pieces
- Board state → Rook rules: creates pieces
- Board state → Queen rules: creates pieces
- Pawn rules → Piece base: extends
- King rules → Piece base: extends
- Knight rules → Piece base: extends
- Bishop rules → Piece base: extends
- Rook rules → Piece base: extends
- Queen rules → Piece base: extends