ConsoleChess
├── board
│ ├── Board.cs # (Contains logic for representing and manipulating the chess board)
│ ├── BoardException.cs # (Defines exceptions related to board operations)
│ ├── Color.cs # (Enumerates possible piece colors (Black, White))
│ └── Piece.cs # (Abstract class representing chess pieces with common properties)
│ └── Position.cs # (Defines a position data structure for board coordinates)
├── chess
│ └── Pieces # (Contains every piece on the board with its movement logics)
│ ├── Bishop.cs
│ ├── King.cs
│ ├── Knight.cs
│ ├── Pawn.cs
│ ├── Queen.cs
│ └── Rook.cs
├── ChessMatch.cs # (Manages the game flow, player turns, and check/checkmate conditions)
├── Program.cs # (Entry point for the application, initializes and runs the chess game)
└── Screen.cs # (Handles console output for board visualization and piece representation)