62,568
社区成员




public class RectangleCrash extends Frame{
private Rectangle rectangleA, rectangleB;
public RectangleCrash(Rectangle rectangleA, Rectangle rectangleB) {
this.rectangleA = rectangleA;
this.rectangleB = rectangleB;
this.setBackground(Color.BLACK);
this.setBounds(100, 100, 800, 600);
this.setVisible(true);
}
public boolean isCrash() {
Point[] points = new Point[4];
points[0] = new Point(rectangleB.x, rectangleB.y);
points[1] = new Point(rectangleB.x, rectangleB.y + rectangleB.height);
points[2] = new Point(rectangleB.x + rectangleB.width, rectangleB.y);
points[3] = new Point(rectangleB.x + rectangleB.width, rectangleB.y + rectangleB.height);
for(int i=0; i<points.length; i++) {
if(isContains(points[i])) {
return true;
}
}
return false;
}
public boolean isContains(Point point) {
if(point.x >= rectangleA.x && point.y >= rectangleA.y && point.x <= rectangleA.x + rectangleA.width && point.y <= rectangleA.y + rectangleA.height) {
return true;
}
return false;
}
public void paint(Graphics g) {
Color c = g.getColor();
g.setColor(Color.RED);
g.drawRect(rectangleA.x, rectangleA.y, rectangleA.width, rectangleA.height);
g.setColor(Color.ORANGE);
g.drawRect(rectangleB.x, rectangleB.y, rectangleB.width, rectangleB.height);
g.setColor(Color.WHITE);
g.drawString(isCrash() ? "Crash!" : "Not Crash!", 10, 200);
g.setColor(c);
}
public static void main(String[] args) {
Rectangle rectangleA = new Rectangle(100, 100, 200, 300);
Rectangle rectangleB = new Rectangle(301, 200, 300, 300);
RectangleCrash rectangleCrash = new RectangleCrash(rectangleA, rectangleB);
}
}