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