Design Chess

The goal of this project is to create a low-level design for a basic Chess game that allows users to play against each other. The game should follow the traditional rules of Chess, including movement of pieces and capturing opponent's pieces.

https://firebasestorage.googleapis.com/v0/b/techprimer-fbfe6.appspot.com/o/lld%2Fchess.png?alt=media&token=ca75298c-84d4-4723-9b89-563e612b3a8f

Requirements:

  1. Implement the standard Chess board and pieces (King, Queen, Bishop, Knight, Rook, and Pawns).
  2. Allow users to move their pieces and capture opponent's pieces according to the standard rules of Chess.
  3. Display the current state of the board after each move.
  4. Check for check, checkmate, and draw conditions.
  5. Provide an option to start a new game or exit the game.

Sample Input and Output: