Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/andriisynytsia/chessgameapp
Excellent strategic game to improve coding skills
https://github.com/andriisynytsia/chessgameapp
Last synced: 13 days ago
JSON representation
Excellent strategic game to improve coding skills
- Host: GitHub
- URL: https://github.com/andriisynytsia/chessgameapp
- Owner: AndriiSynytsia
- License: mit
- Created: 2024-08-11T20:49:23.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-09-23T02:15:52.000Z (4 months ago)
- Last Synced: 2024-11-13T14:07:06.168Z (2 months ago)
- Language: Java
- Size: 94.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Chess Game Application
Welcome to the **Chess Game Application**! This project is a fully-featured, Java-based chess game that you can play on
your local machine. Whether you're a beginner or an experienced player, this application offers a fun and challenging
experience.## Resources
This project was developed following the tutorial series from this YouTube playlist:
[Complete Chess Game in Java](https://youtube.com/playlist?list=PLOJzCFLZdG4zk5d-1_ah2B4kqZSeIlWtt&si=suMZsn140Ro9GWzL)## Features
### Board Setup
- **A standard 8x8 chessboard with alternating colors and proper initial placement of pieces (pawns, rooks, knights, bishops, queens, kings).**
### Piece Movement: Implement the movement rules for each piece:
- **Pawn: Moves forward but captures diagonally. Can move two squares on the first move.**
- **Rook: Moves horizontally or vertically.**
- **Knight: Moves in an "L" shape (two squares in one direction, one square in a perpendicular direction).**
- **Bishop: Moves diagonally.**
- **Queen: Moves horizontally, vertically, or diagonally.**
- **King: Moves one square in any direction.**
- **Turn-based System: Alternating turns between White and Black players.**
- **Move Validation: Ensure moves are valid based on the rules (no moving through other pieces except for the knight, no moving into check, etc.).**
- **Check/Checkmate Detection: Detect when a king is in check or checkmate.**
- **En Passant: Special pawn capture move when a pawn moves two squares forward.**
- **Pawn Promotion: Allow pawn promotion when reaching the opponent’s back rank (promotion to queen, rook, bishop, or knight).**
- **Castling: Implement castling on both kingside and queenside, ensuring the conditions are met (no pieces between the king and rook, neither piece has moved, etc.).**
## Screenshots![Chess Game Screenshot](images/chessgame.png)
## Getting Started
Follow these instructions to get the chess game up and running on your local machine.
### Prerequisites
- **Java 8 or higher**: Make sure you have the latest version of Java installed.
### Installation
1. **Clone the repository**:
```bash
git clone https://github.com/AndriiSynytsia/ChessGameApp.git2. **Navigate to the project directory**:
```bash
cd ChessGameApp3. **Run application** using IDE which you prefer or compile an app using Java compiler:
Compile the project:
```bash
javac -d bin src/com/javabasicprojects/chessgame/*.java
```
Run the application:
```bash
java -cp bin com.javabasicprojects.chessgame.ChessGame
```### Contributing
Contributions are welcome! If you have ideas to improve the game or want to fix a bug, feel free to fork the repository,
create a branch, and submit a pull request.### How to Contribute
- **Fork the repository**
- **Create a new branch (git checkout -b feature-name)**
- **Make your changes and commit them (git commit -m 'Add some feature')**
- **Push to the branch (git push origin feature-name)**
- **Open a pull request**### License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.