import java.awt.*; import java.util.*; public class ex4 extends BufferedApplet { int w = 0, h; 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; } g.setColor(Color.white); g.fillRect(0, 0, w, h); g.setColor(Color.black); int dx1 = 0, dy1 = 0; for (int i = 0 ; i < n-1 ; i++) { int dx0 = dx1; int dy0 = dy1; double theta = 2 * Math.PI * i * count / w; dx1 = (int)(w/8 * Math.cos(theta)); dy1 = (int)(w/8 * Math.sin(theta)); if (i > 0) g.drawLine(X[i] + dx0, Y[i] + dy0, X[i+1] + dx1, Y[i+1] + dy1); } //count++; animating = true; } public boolean mouseDown(Event e, int x, int y) { if (isRightButton(e)) count = x; else { count = 0; n = 0; addPoint(x, y); } return true; } public boolean mouseDrag(Event e, int x, int y) { if (isRightButton(e)) count = x; else addPoint(x, y); return true; } public boolean mouseUp(Event e, int x, int y) { if (isRightButton(e)) count = x; else addPoint(x, y); return true; } void addPoint(int x, int y) { X[n] = x; Y[n] = y; n++; damage = true; } boolean isRightButton(Event e) { return (e.modifiers & Event.META_MASK) != 0; } }