import java.awt.Color; import java.awt.Graphics; import java.awt.geom.Rectangle2D; public class Ball { private int x; private int y; private int radius; private int rise; private int run; private boolean visable; public Ball(int radius){ x=randInt(350,450); y=randInt(250,350); this.radius=radius; rise=randInt(1,8); run=randInt(-8,8); setVisable(false); } public int randInt(int min, int max){ return min+(int)((max-min)*Math.random()); } public void move(){ x+=run; y+=rise; } public void bounceVertical(){ rise*=-1; } public void bounceHorizontal(){ run*=-1; } public void draw(Graphics g){ if (visable){ Color c=g.getColor(); g.setColor(Color.BLUE); g.fillOval(x-radius, y-radius, 2*radius, 2*radius); g.setColor(c); } } public void setVisable(boolean visable) { this.visable = visable; } public boolean isVisable() { return visable; } public Rectangle2D area(){ return new Rectangle2D.Double(x-radius, y-radius, 2*radius, 2*radius); } public void setRise(int rise){ this.rise=rise;} public void setRun(int run){ this.run=run;} public int getRise(){return rise;} public int getRun(){return run;} }