V
Size: a a a
V
b
V
b
V
DS
V
V
V
V
DS
SG
b
SG
DS
V
SG
b
public partial class Piece {
public static class Move {
public static void moveLike(Piece piece) {
figure_type typeOfPiece = piece.getFigureType();
switch (typeOfPiece) {
case figure_type.pawn:
moveLikePawn(piece);
break;
case figure_type.king:
moveLikeKing(piece);
break;
case figure_type.queen:
moveLikeQueen(piece);
break;
case figure_type.knight:
moveLikeKnight(piece);
break;
case figure_type.rook:
moveLikeRook(piece);
break;
case figure_type.bishop:
moveLikeBishop(piece);
break;
default:
ChessException.CouldnotDefineAPieceType();
break;
}
public static void moveLikePawn(Piece piece) {//1
color_type color = piece.getColorType();
if(color == color_type.black) {
if (piece.y - 1 < 1) {
ChessException.PieceTriesToMoveToNonexistingCoordinatesOfABoard();
}
--piece.y;
return;
}
if(color == color_type.white) {
if(piece.y + 1 > 8) {
ChessException.PieceTriesToMoveToNonexistingCoordinatesOfABoard();
}
++piece.y;
return;
}
ChessException.CouldnotDefineAColorOfAPiece();
}
}
SG