import java.awt.*; import java.applet.Applet; public class S extends Applet { int i,h,x0,y0,size,px,py; double h1; public S() { size = 512; h = size /4; x0=2*h;y0=4*h;h=h/32; i=5; h1 = ((double) h) / Math.sqrt(2); } public void paint(Graphics g) { px=x0;py=y0; g.setColor(Color.red); A(i,g); line(7,h,g); B(i,g); line(5,h,g); C(i,g);line(3,h,g); D(i,g); line(1,h,g); } public void init() { setBackground(Color.white); } public void line(int x, int h, Graphics g) { // System.out.println("Values are "+px+","+py); switch(x) { case 0: g.drawLine(px,py,px+h,py);px+=h;break; case 1: g.drawLine(px,py, px + h, py +h); px = px + h ; py = py + h ;break; case 2: g.drawLine(px,py,px,py+h);py+=h;break; case 3:g.drawLine(px,py, px - h, py +h); px = px- h ; py = py+ h ;break; case 4: g.drawLine(px,py,px-h,py);px-=h;break; case 5:g.drawLine(px,py, px - h, py - h); px = px - h ; py = py - h ;break; case 6: g.drawLine(px,py,px,py-h);py-=h;break; case 7: g.drawLine(px,py, px + h, py - h); px = px + h ; py = py - h ;break; } } void A(int i, Graphics g) { if (i>0) { g.setColor(Color.green);A(i-1,g);line(7,h,g);B(i-1,g);line(0,2*h,g);D(i-1,g);line(1,h, g);A(i-1,g); } } void B(int i, Graphics g) { if (i>0) { g.setColor(Color.blue);B(i-1,g);line(5,h,g);C(i-1,g);line(6,2*h,g);A(i-1,g);line(7,h,g);B(i-1,g); } } void C(int i,Graphics g) { if (i>0) { g.setColor(Color.pink);C(i-1,g);line(3,h,g);D(i-1,g);line(4,2*h,g);B(i-1,g);line(5,h,g);C(i-1,g); } } void D(int i, Graphics g) { if (i>0) { g.setColor(Color.cyan);D(i-1,g);line(1,h,g);A(i-1,g);line(2,2*h,g);C(i-1,g);line(3,h,g);D(i-1,g); } } }