uni

Thing1's amazing uni repo
Log | Files | Refs

Circle.java (1539B)


      1 import java.awt.*;
      2 import java.awt.geom.*;
      3 
      4 public class Circle {
      5 	private int diamiter;
      6 	private int x;
      7 	private int y;
      8 	private String color;
      9 	private boolean isVisible;
     10 
     11 	public Circle() {
     12 		diamiter = 30;
     13 		x = 40;
     14 		y = 30;
     15 		color = "blue";
     16 		isVisible = true;
     17 	}
     18 
     19 	public int getDiamiter() {
     20 		return diamiter;
     21 	}
     22 
     23 	public int getX() {
     24 		return x;
     25 	}
     26 
     27 	public int getY() {
     28 		return y;
     29 	}
     30 
     31 	public String getColor() {
     32 		return color;
     33 	}
     34 	
     35 	public boolean getisVisible() {
     36 		return isVisible;
     37 	}
     38 
     39 	public String toString() {
     40 		return "diamiter: " + diamiter +
     41 			", x: " + x +
     42 			", y: " + y +
     43 			", color: " + color +
     44 			", visible: " + isVisible;
     45 	}
     46 
     47 	public void draw() {
     48 		if (isVisible) {
     49 			Canvas canv = Canvas.getCanvas();
     50 			canv.draw(this, color, new Ellipse2D.Double(x, y, diamiter, diamiter));
     51 			canv.wait(10);
     52 		}
     53 	}
     54 
     55 	private void erase() {
     56 		if (isVisible) {
     57 			Canvas canv = Canvas.getCanvas();
     58 			canv.erase(this);
     59 		}
     60 	}
     61 
     62 	public void move(int newX, int newY) {
     63 		erase();
     64 		x = newX;
     65 		y = newY;
     66 		draw();
     67 	}
     68 
     69 	public void makeVisible() {
     70 		isVisible = true;
     71 		draw();
     72 	}
     73 
     74 	public void makeInvisible() {
     75 		erase();
     76 		isVisible = false;
     77 	}
     78 
     79 	public void changeColor(String newColor) {
     80 		color = newColor;
     81 		draw();
     82 	}
     83 
     84 	public void changeSize(int newDiamiter) {
     85 		erase();
     86 		diamiter = newDiamiter;
     87 		draw();
     88 	}
     89 	
     90 	public void moveLeft() {
     91 		move(x - 10, y);
     92 	};
     93 
     94 	public void moveRight() {
     95 		move(x + 10, y);
     96 	};
     97 
     98 	public void moveUp() {
     99 		move(x, y - 10);
    100 	};
    101 
    102 	public void moveDown() {
    103 		move(x, y + 10);
    104 	};
    105 };