/****************************************************************************** * Name: Donna Gabai * NetID: dgabai * Precept: P99 * * Description: An object class to represent a 2D diamond. * * Dependencies: StdDraw ****************************************************************************/ import java.awt.Color; public class Diamond { // instance variables private final double r; // center to vertex distance private double x; // center x-coordinate private double y; // center y-coordinate private Color c; // color of the diamond // constructor (does not draw the diamond) public Diamond(double r, double x, double y, Color c) { // put the values of the arguments into the instance variables this.r = r; this.x = x; this.y = y; this.c = c; } // sets the pen color and draws the diamond public void drawFilled() { // compute the vertices and pack into x and y arrays double[] xPts = {x - r, x, x + r, x}; double[] yPts = {y, y + r, y, y - r}; // set pen color StdDraw.setPenColor(c); // draw StdDraw.filledPolygon(xPts, yPts); } // returns the area of the diamond: area = 2 * (r squared) public double area() { double a = 2 * r * r; return a; } // changes the color public void changeColor(Color newColor) { c = newColor; } // changes the position public void move(double deltax, double deltay) { x = x + deltax; y = y + deltay; } // test main (provided) public static void main(String[] args) { StdDraw.setXscale(-1, 1); // set scale StdDraw.setYscale(-1, 1); // in main() Color red = StdDraw.RED; Diamond d = new Diamond(.5, -.5, .5, red); d.drawFilled(); System.out.println(d.area()); d.changeColor(StdDraw.BLUE); d.move(1, -1); d.drawFilled(); System.out.println(d.area()); } }