How marcusokodugha/chess works
This repository is a desktop chess game: a player interacts with a graphical board, submits moves, and sees the resulting game state. The board coordinates move validation, legal-move generation, turn/state tracking, and optional computer play; the view renders the board and handles mouse input. The tree and excerpts support these core links, but do not establish all of the game’s wiring, so uncertain connections are omitted. The README is empty.
Main entry points: Board.java Game board · BoardView.java Board view · Infinity.java Infinity AI · Main.java Game startup
Components 12
Game interface
- Game startup
src/main/java/marcus/okodugha/chessv1/Main.java - Board view
src/main/java/marcus/okodugha/chessv1/View/BoardView.java
Chess engine
- Game board
src/main/java/marcus/okodugha/chessv1/Model/Board.java - Move rules
src/main/java/marcus/okodugha/chessv1/Model/Rules.java - Board utilities
src/main/java/marcus/okodugha/chessv1/Model/BordUtilities.java - Move data
src/main/java/marcus/okodugha/chessv1/Model/Move.java - Pieces
src/main/java/marcus/okodugha/chessv1/Model/Piece.java
Computer player
- Infinity AI
src/main/java/marcus/okodugha/chessv1/Model/Infinity/Infinity.java - Opening lines
src/main/java/marcus/okodugha/chessv1/Model/Infinity/Openings.java
Game feedback
- Move sounds
src/main/java/marcus/okodugha/chessv1/View/Sound.java - Audio resources
src/main/resources
Other components
- Player
Connections 10
- Game startup → Game board: initializes
- Game startup → Board view: initializes
- Board view → Player: accepts input
- Board view → Game board: submits moves
- Game board → Move rules: validates moves
- Game board → Board utilities: checks legal moves
- Game board → Infinity AI: creates players
- Infinity AI → Game board: requests moves
- Infinity AI → Opening lines: uses openings
- Move sounds → Audio resources: loads clips