finds.dev← search

// the find

acenelio/chess-system-java

★ 247 · Java · updated Aug 2024

A terminal-based chess game in Java, built as a teaching project for an OOP course. It implements a full two-player chess match with piece movement, check/checkmate detection, castling, en passant, and pawn promotion — all rendered in colored ASCII in the console.

The layered architecture separating boardgame (generic) from chess (domain-specific) is clean and intentional — it's the right way to teach abstraction. Move validation and special rules (castling, en passant) are actually implemented, not stubbed. The colored console output using ANSI escape codes is a nice touch that makes the board readable. Exception hierarchy is properly separated: BoardException vs ChessException.

The .classpath and .project files are Eclipse IDE artifacts checked into the repo — a Maven or Gradle build file would make this portable and less painful for anyone not on Eclipse. There are no tests whatsoever; for a project teaching OOP this is a missed opportunity to also teach testing. The project hasn't been touched since mid-2024 and shows no signs of active maintenance. Move history or game logging is absent, so there is no way to replay or analyze a game after the fact.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →