1 /* Ball class */ 2 3 import java.awt.*; 4 import java.applet.*; 5 6 class Ball { 7 8 int initx, inity, level, current, x, y, latency; 9 int dx, dy; 10 Image image; 11 Color bgcolor; 12 String name; 13 boolean moving = false; 14 15 Applet applet; 16 17 public Ball (String _name, Image i, Applet _applet, Color _color) { 18 image = i; 19 bgcolor = _color; 20 applet = _applet; 21 setPos(0, 0); 22 setdelta(10, 10); 23 name = _name; 24 current = 0; 25 } 26 27 public void setPos(int _x, int _y) { 28 x = _x; y = _y; 29 } 30 31 public void setdelta(int _dx, int _dy) { 32 dx = _dx; dy = _dy; 33 } 34 35 public void setVars(int x, int y, int lvl, int late) { 36 initx = x - 2; 37 inity = y - 14; 38 setPos(initx, inity); 39 level = lvl; 40 moving = true; 41 latency = late; 42 } 43 44 public void paint(Graphics g) { 45 g.drawImage(image, x, y, applet); 46 } 47 48 public void hide(Graphics g) { 49 g.setColor(bgcolor); 50 g.fillRect(x, y, image.getWidth(applet), image.getHeight(applet) - 2); 51 } 52 53 public void move(Graphics g) { 54 if (latency > 0) { 55 latency--; 56 return; 57 } 58 if (moving) { 59 hide(g); 60 y += dy; 61 if (Math.random() < 0.5) x -= dx; else x += dx; 62 current++; 63 if (current > level) { 64 x = initx; y = inity; 65 current=0; 66 } 67 setPos(x, y); 68 paint(g); 69 } 70 } 71 72 } 73