private ArrayList<MyField> findPath(int x0, int y0, int x1, int y1) {
        ArrayList<MyField> road = new ArrayList<>();
        
        if(x1 == x0){
            if(y0 == y1)
                road.add(new MyField(x0, y0));
            else {
                int y = y0;
                if(y0 < y1)
                    while(y < y1) {
                        road.add(new MyField(x0, y));
                        y += 1;
                    }              
            
                else
                    while(y > y1) {
                        road.add(new MyField(x0, y));
                        y -= 1;
                    }     
            }
            return road;           
        }    
        double a = (double)((y1 - y0) / (x1 - x0));
        double b = y1 - a * x1;
        double deltaX = 1 / Math.sqrt(a * a + 1);
        double x = x0;
        if(x0 < x1)
            while(x < x1)
            {
                road.add(new MyField((int)x, (int)(a * x + b)));
                x += deltaX;
            }
        else
            while(x > x1)
            {
                road.add(new MyField((int)x, (int)(a * x + b)));
                x -= deltaX;
            }
        return road;
    }