Modeling the data structures
Coming back to the old adage, data structures, not algorithms, are central to writing good programs. Therefore, it is important that we spend some time defining the data structure.
The key data that the model needs to record is the position of the chess pieces on the chessboard. Accordingly, we first need a way to define these locations and a unique way to identify the chess pieces. Let's first agree to the naming conventions that we will stick to in the program.
Convention on naming chess pieces
Every chess piece is identified by a single letter (pawn = p
, knight = n (yes knight with n!)
, bishop = b
, rook = r
, queen = q
and king = k
).
The white chess pieces are represented by uppercase letters (PNBRQK
), and the black chess pieces are represented by lowercase letters (pnbrqk
).
Convention for naming locations on the chessboard
In order to assign unique identifiers to every square on the chessboard, we will mark the squares along the x axis by using the letters...