import java.awt.*; import java.util.*; public class ex3 extends BufferedApplet { int w = 0, h, x1 = 0, y1 = 0, x2 = 0, y2 = 0; int count = 0; int X[] = new int[1000]; int Y[] = new int[1000]; int n = 0; Random R = new Random(); public void render(Graphics g) { if (w == 0) { w = bounds().width; h = bounds().height; x1 = w / 2; y1 = h / 2; x2 = w / 2; y2 = h / 2; } g.setColor(Color.white); g.fillRect(0, 0, w, h); g.setColor(Color.black); for (int i = 0 ; i < n-1 ; i++) { //double theta = (R.nextInt() > 0 ? 1 : -1) * Math.sin(i * count * .001); double theta = .1 * Math.sin(i * count * .001); int dx = (int)(100 * Math.cos(theta)); int dy = (int)(100 * Math.sin(theta)); //g.drawLine(X[i] + dx, Y[i] + dy, X[i+1] + dx, Y[i+1] + dy); g.fillOval(X[i] + dx - 10, Y[i] + dy - 10, 20, 20); } count++; animating = true; } public boolean mouseDown(Event e, int x, int y) { count = 0; n = 0; X[n] = x; Y[n] = y; damage = true; return true; } public boolean mouseDrag(Event e, int x, int y) { n++; X[n] = x; Y[n] = y; damage = true; return true; } public boolean mouseUp(Event e, int x, int y) { n++; X[n] = x; Y[n] = y; damage = true; return true; } }