package chess import ( "mchess_server/types" ) type Piece interface { GetAllMovesButBlocked(board Board, fromSquare types.Coordinate) []types.Coordinate GetColor() types.ChessColor } func GetPieceForShortName(name types.PieceShortName) Piece { var piece Piece switch name { case 'p': piece = Pawn{} case 'q': piece = Queen{} case 'k': piece = King{} case 'b': piece = Bishop{} case 'r': piece = Rook{} case 'n': piece = Knight{} } return piece }