An open API service indexing awesome lists of open source software.

https://github.com/ahmadabbadi101/chess

This is a university project done in fall 2023. It is implemented using OOP principles using Java. It is a complete two player chess engine with a GUI using swing.
https://github.com/ahmadabbadi101/chess

game-development java object-oriented-programming oop

Last synced: 4 days ago
JSON representation

This is a university project done in fall 2023. It is implemented using OOP principles using Java. It is a complete two player chess engine with a GUI using swing.

Awesome Lists containing this project

README

          

# Chess Game

A classic chess game implemented in Java, featuring a backend logic written in Java and a graphical user interface (GUI) created with Java Swing.

## Table of Contents

- [Video Demonstration](#Video)
- [Features](#features)
- [Installation](#installation)
- [Usage](#usage)
- [Contributors](#contributors)
- [Contributing](#contributing)

## Video
- [Quick Game](https://youtube.com/shorts/STmNuf0PpR4?feature=share)
- [Game With All Chess Scenarios](https://youtube.com/shorts/2jRWm50FOvs?feature=share)
## Features

- **Immersive Chess Gameplay**: Play chess with all standard rules.
- **Java Backend Architecture**: Solid backend implemented in Java.
- **OOP Design and Design Patterns**: All code was built using OOP priniciples and implemented design patterns(Singleton, Factory, Composite).
- **Intuitive User Interface**: A user-friendly GUI crafted with Java Swing, making it easy to navigate and play.
- **Responsive Design**: Facilitates multiplayer gameplay on the same device by automatically flipping the board after each turn.
- **Move Validation**: Ensures that all moves are valid and in accordance with the rules of chess.
- **Move Undo and Redo**: Undo and redo functionalities, without any limitations.
- **Check and Checkmate Detection**: Identify and handle check and checkmate scenarios.

## Installation

1. Clone the repository:

```bash
git clone https://github.com/ahmadabbadi101/chess.git
```

2. Open the project in your preferred IDE (e.g., IntelliJ, Eclipse).

3. Run the game and enjoy!

## Usage

- Launch the application.
- Click on pieces and click on their destinations to move them using GUI.
- Click on arrows on the top left to undo and redo
- Follow standard chess rules to play the game.
## Contributors

-[Mohamed Bassem](github.com/mohamedbassem6)

## Contributing

Contributions are welcome! If you find any bugs or have suggestions for improvement, please open an issue or submit a pull request.