Once you have completed all the logic for movement you can move on to the logic of capturing pieces. Most of this is already done since most pieces just capture the way they move and we already allow pieces to move to locations were an opposite color piece is and replace it. However the Pawn does not capture how it moves, in fact it can not capture pieces using its normal moves. Instead Pawns capture by moving diagonally forward, a move they can only make when capturing. This means you will need to adjust the isValidMove for the Pawn so that it can not move straight (by one or two squares) to a square that is already occupied but can move one square forward diagonally is there is a piece of the opposite color in that location.
Sample Solution