Skip to content

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.

Notifications You must be signed in to change notification settings

MaarceloLuiz/chess-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 Handling

among others that were not listed.

How to Play

# 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

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 Pereira

https://www.linkedin.com/in/marcelo-luiz-guimar%C3%A3es-pereira-613933269/

About

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.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages