import java.awt.*;
import java.applet.*;

public class FiftySquares extends Applet
{
	float xA, yA, xB, yB, xC, yC, xD, yD,
			xA1, yA1, xB1, yB1, xC1, yC1, xD1, yD1,p,q,r;
	int i;
	int x_center, y_center;

	static final int H_SIZE = 300;
	static final int V_SIZE = 300;

	public void init()
	{
		q = (float)0.05;
		p = 1 - q;
		r = (float)0.95 * H_SIZE;

		x_center = H_SIZE/2;
		y_center = V_SIZE/2;

		resize(H_SIZE, V_SIZE);
	}

	public void paint(Graphics g)
	{
		xA = xD = x_center - r;
		xB = xC = x_center + r;
		yA = yB = y_center - r;
		yC = yD = y_center + r;

		for(i=0; i<50; i++)
		{
			g.drawLine((int)xA, (int)yA, (int)xB, (int)yB);
			g.drawLine((int)xB, (int)yB, (int)xC, (int)yC);
			g.drawLine((int)xC, (int)yC, (int)xD, (int)yD);
			g.drawLine((int)xD, (int)yD, (int)xA, (int)yA);
			xA1= p*xA+q*xB;yA1= p*yA+q*yB;
			xB1= p*xB+q*xC;yB1= p*yB+q*yC;
			xC1= p*xC+q*xD;yC1= p*yC+q*yD;
			xD1= p*xD+q*xA;yD1= p*yD+q*yA;
			xA=xA1;xB=xB1;xC=xC1;xD=xD1;
			yA=yA1;yB=yB1;yC=yC1;yD=yD1;
		}
	}

	public boolean mouseDown(Event evt, int x, int y)
	{
		repaint();
		return true;
	}
}
