DECLARE SUB Box(x1!,y1!,x2!,y2!) CLEAR,,16384 RANDOMIZE TIMER SCREEN 1 DIM SHARED Rf Rf=2 PSET(0,0),1'INT(RND*3+1) PSET(0,199),1'INT(RND*3+1) PSET(319,199),1'INT(RND*3+1) PSET(319,0),1'INT(RND*3+1) Box 0,0,319,199 SUB Box(x1,y1,x2,y2) IF x2-x1<1 THEN EXIT SUB IF INKEY$="" THEN SYSTEM x3=(x1+x2)*.5:y3=(y1+y2)*.5 p1=POINT(x1,y1) p2=POINT(x2,y1) p3=POINT(x2,y2) p4=POINT(x1,y2) IF POINT(x3,y1)=0 THEN PSET(x3,y1),(p1+p2+Rf*(RND*4))/(2+Rf) IF POINT(x2,y3)=0 THEN PSET(x2,y3),(p2+p3+Rf*(RND*4))/(2+Rf) IF POINT(x3,y2)=0 THEN PSET(x3,y2),(p3+p4+Rf*(RND*4))/(2+Rf) IF POINT(x1,y3)=0 THEN PSET(x1,y3),(p4+p1+Rf*(RND*4))/(2+Rf) IF POINT(x3,y3)=0 THEN PSET(x3,y3),(p1+p2+p3+p4+Rf*(RND*4))/(4+Rf) Rf=Rf*.5 Box x1,y1,x3,y3'1 Box x3,y1,x2,y3'2 Box x3,y3,x2,y2'3 Box x1,y3,x3,y2'4 Rf=Rf*2 END SUB