import java.awt.Color; import java.awt.Graphics; public abstract class Shape { private int x; private int y; private Color color; /** * Constructor for Shape * * @param x * the x coordinate of the shape * @param y * the y coordinate of the shape */ public Shape(int x, int y) { this.x = x; this.y = y; color = new Color((float) Math.random(), (float) Math.random(), (float) Math.random()); } public int getX() { return x; } public void setX(int x) { this.x = x; } public int getY() { return y; } public void setY(int y) { this.y = y; } public abstract boolean isVisible(int w, int h); public abstract boolean isIn(int x, int y); public void draw(Graphics g) { g.setColor(color); } public static void testShape() { // TODO: implement this method // Because this is the abstract so we don't test anything here. } }