33 lines
1.1 KiB
Java
33 lines
1.1 KiB
Java
import java.awt.*;
|
|
import java.awt.geom.Area;
|
|
import java.awt.geom.Ellipse2D;
|
|
import java.awt.geom.Path2D;
|
|
|
|
public class King extends AbstractPiece {
|
|
|
|
public King(Chessboard c, int x, int y) {
|
|
super(c, x, y);
|
|
}
|
|
|
|
@Override
|
|
public void paint(Graphics2D g2) {
|
|
|
|
double[] xObject1 = new double[]{18, 27, 34, 43, 50, 57, 66, 73, 82, 70, 70, 30, 30, 18};
|
|
double[] yObject1 = new double[]{27, 33, 26, 33, 26, 33, 26, 33, 27, 52, 58, 58, 52, 27};
|
|
|
|
double[] xObjectClip = new double[]{27, 73, 73, 66, 57, 50, 43, 34, 27, 27};
|
|
double[] yObjectClip = new double[]{0, 0, 28, 21, 28, 21, 28, 21, 28, 0};
|
|
|
|
Path2D objectClip = getObject(xObjectClip, yObjectClip);
|
|
Ellipse2D ellipse = getEllipse(30, 6, 40, 40);
|
|
Area intersection = new Area(ellipse);
|
|
intersection.intersect(new Area(objectClip));
|
|
Ellipse2D ellipse2 = getEllipse(44, 0, 12, 12);
|
|
intersection.add(new Area(ellipse2));
|
|
|
|
paintObjects(g2, new Shape[]{getStand(), getObject(xObject1, yObject1), intersection});
|
|
|
|
}
|
|
|
|
}
|