boolean overlapTest(int deltaX, int deltaY, MyPolygon[] polygonArray, int activePolygon){ move = true; MyPolygon testPolygon = new MyPolygon (Color.black, npoints, xpoints, ypoints); if (move == true) { for(int i=0; i<npoints; i++) { resetX[i] = xpoints[i]; resetY[i] = ypoints[i]; } } for(int i=0; i<npoints; i++) { xpoints[i] += (deltaX); ypoints[i] += (deltaY); int x = xpoints[i]; int y = ypoints[i]; if (area(x, y) == false) { move = false; } } for(int i=0; i<polygonArray.length; i++) { if(i != activePolygon) { for(int j=0; j<polygonArray[i].npoints; j++) { int xTest = (polygonArray[i].xpoints[j]); int yTest = (polygonArray[i].ypoints[j]); //hier tritt der Fehler auf, die Abfrage läßt es //zu das Punkte in das Polygon eindringen können! if(testPolygon.isInside(xTest, yTest, testPolygon)) { move = false; } } for(int j=0; j<npoints; j++) { int xTest = xpoints[j]; int yTest = ypoints[j]; MyPolygon testPolygonB = polygonArray[i]; if(testPolygonB.isInside(xTest, yTest, testPolygonB)) { move = false; } } } } if(move == true) { for(int i=0; i<npoints; i++) { xpoints[i] -= deltaX; ypoints[i] -= deltaY; } } return move;}