Software project / S1

Digital Chess Game

A Java chess game with a graphical interface, complete move rules, undo functionality, and automated testing.

Java · Swing · Object-oriented programming · Automated testing

01

Multiplayer Chess.

This project started off simple by using a two-dimensional character array to represent a chessboard and validate basic pawn movement.

After establishing the basics and understanding the skeleton of the logic, I expanded it into a local two-player application with an object-oriented rules engine, a Java Swing interface, legal-move validation, game-state tracking, and automated tests.

The interface sends each requested move to the chess engine, which determines whether the move is valid. Keeping the rules separate from the interface makes the program easier to test and maintain.

02

Core gameplay, rules, and state management.

01

Local two-player gameplay

02

Movement rules for every chess piece

03

Turn enforcement and captures

04

Check, checkmate, and stalemate detection

05

Castling, en passant, and pawn promotion

06

Undo, restart, and move history

07

Automated engine tests

03

Interface, logic, and game-state development.

Project files

Explore the source code.

The GitHub repository contains the Java source files, engine tests, launch scripts, architecture notes, and project documentation.

Open GitHub repository