Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/maarceloluiz/chess-system
Command-line Chess System developed to practice Object-Oriented Programming (OOP) concepts like inheritance, encapsulation, abstraction, and polymorphism, featuring an interactive interface and core chess rules.
https://github.com/maarceloluiz/chess-system
abstraction chess command-line-interface composition encapsulation exception-handling inheritance java object-oriented-programming polymorphism
Last synced: 18 days ago
JSON representation
Command-line Chess System developed to practice Object-Oriented Programming (OOP) concepts like inheritance, encapsulation, abstraction, and polymorphism, featuring an interactive interface and core chess rules.
- Host: GitHub
- URL: https://github.com/maarceloluiz/chess-system
- Owner: MaarceloLuiz
- Created: 2023-04-22T06:19:01.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-12-03T17:20:53.000Z (about 2 months ago)
- Last Synced: 2024-12-03T18:26:55.255Z (about 2 months ago)
- Topics: abstraction, chess, command-line-interface, composition, encapsulation, exception-handling, inheritance, java, object-oriented-programming, polymorphism
- Language: Java
- Homepage: https://github.com/MaarceloLuiz/chess-system
- Size: 51.8 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Chess System
## About
This project was made in order to improve my OOP studying, so important concepts were used, such as:
- Inheritance
- Encapsulation
- Abstraction
- Polymorphism
- Composition
- Exception Handlingamong others that were not listed.
## How to Play
```bash
# clone repository
git clone https://github.com/MaarceloLuiz/chess-system.git# enter the src directory
cd chess-system/src# compile the Java files
javac -d ../bin application/Program.java# enter the bin folder
cd ../bin# execute the project
java application/Program#The expected result should be as shown in the image below:
```
![chessgamescreenshot](https://github.com/MaarceloLuiz/chess-system/assets/117950222/2e2c45d7-828b-4110-934f-ec1e3e6cbae1)## Important Notes
- Pieces:| Pawn | Rook | Knight | Bishop | Queen | King |
|---|---|---|---|---|---|
| **P** | **R** | **N** | **B** | **Q** | **K** |- The game is based in **lines**(_1, 2, 3, 4, 5, 6, 7, 8_) and **columns**(_a, b, c, d, e, f, g, h_)
- To **choose** and **move** a piece: _First_ the **column** should be picked, and then (with no spaces) a **line** must be chosen. Example: **c2**
- **Captured pieces**: Where all the captured pieces are displayed.
- **Turn**: Displays the turn (round) the game is in.
- **Waiting player**: Displays which player is going to play next.
- **Source**: The chosen piece.
- **Target**: The destiny which the piece is going to be moved.
- **Check** and **CheckMate** systems are included.
- **Special Moves** Available:
- Castling(Rook)
- En Passant
- Promotion
## Author
Marcelo Luiz Guimarães Pereirahttps://www.linkedin.com/in/marcelo-luiz-guimar%C3%A3es-pereira-613933269/