private int nextRowSameColumn(Piece[][] pieces, int from_x, int from_y, int to_x, int to_y) {
        
        if(color.equals("black")) {
            if(to_x - from_x == 1 && to_y == from_y && isEmpty(pieces[to_x][to_y])) {
                
                if(to_x == 7) {
                    return PROMOTION;
                }
                
                pieces[to_x][to_y] = pieces[from_x][from_y];
                pieces[from_x][from_y] = null;
                
                last_move_info = (char)(((int)'a') + to_y) + "" + (8 - to_x) + " ";
                
                return MOVED;
            }
        }
        else {
            if(to_x - from_x == -1 && to_y == from_y && isEmpty(pieces[to_x][to_y])) {
                
                if(to_x == 0) {
                    return PROMOTION;
                }
                
                pieces[to_x][to_y] = pieces[from_x][from_y];
                pieces[from_x][from_y] = null;
   
                last_move_info = (char)(((int)'a') + to_y) + "" + (8 - to_x) + " ";
 
                return MOVED;
            }           
        }

        return NOT_MOVED;
        
    }