REM Start of BASIC! Program WAKELOCK 4 GOSUB deffn mrd=7 %max recursion deep LIST.CREATE n,lx LIST.CREATE n,ly LIST.CREATE n,la LIST.CREATE n,lpl GR.OPEN 255,0,0,0,0,2 GR.SCREEN sx,sy GR.BITMAP.CREATE bmp,sx,sy GR.BITMAP.DRAW gob,bmp,0,0 mx=sx/2 my=sy/2 LIST.ADD lpl,mx*0.99,sy/5*3,mx*1.01,sy/5*3,mx*1.8,sy,mx*0.2,sy DO GR.BITMAP.DRAWINTO.START bmp GR.COLOR 255,32,64,0,2 GR.RECT vd,0,sy/5*3,sx,sy GR.COLOR 255,32,64,255,2 GR.RECT vd,0,0,sx,sy/5*3 FOR i=0 TO sy/5*3 GR.COLOR ,,i/(sy/5*3)*127+128 GR.LINE vd,0,i,sx,i NEXT i GR.COLOR 255,128,96,64,1 GR.POLY vd,lpl,0,0 FOR j=2 TO 6 FOR k=-1 TO 1 STEP 2 LIST.CLEAR lx LIST.CLEAR ly LIST.CLEAR la xx=mx+k*j*j*sx/80 yy=sy/20*12+j*j*sy/100 l1=sy/20*j*j/8 rd=INT(RND()*32) gn=INT(RND()*64)+64 bu=INT(RND()*32) FOR i=0 TO 1 STEP 0.001 br=RND()*0.5+0.5 GR.COLOR 64,rd*br,gn*br,bu*br,1 a=RND()*PI()+PI() l2=l1*RND() x1=xx+COS(a)*l2/2 y1=yy+SIN(a)*l2/10 x2=x1+RND()*l1/10-l1/20 y2=y1-RND()*l1/5 GR.LINE vd,x1,y1,x2,y2 NEXT i tree(0,mrd,xx,yy,270,l1,2+INT(RND()*4),lx,ly,la,&nn) GR.RENDER r1=l1/10 r2=l1/15 LIST.SIZE lx,nl FOR i=1 TO nl LIST.GET lx,i,x LIST.GET ly,i,y LIST.GET la,i,a br=RND()/2+0.25 GR.COLOR 255,63*br,191*br,31*br,1 GR.ROTATE.START a+90,x,y GR.OVAL vd,x-r1,y-r2,x+r1,y+r2 GR.ROTATE.END NEXT i GR.RENDER FOR i=0 TO 1 STEP 0.001 br=RND()*0.5+0.5 GR.COLOR 64,rd*br,gn*br,bu*br,1 a=RND()*PI() l2=l1*RND() x1=xx+COS(a)*l2/2 y1=yy+SIN(a)*l2/10 x2=x1+RND()*l1/10-l1/20 y2=y1-RND()*l1/5 GR.LINE vd,x1,y1,x2,y2 NEXT i NEXT k NEXT j GR.BITMAP.DRAWINTO.END GR.RENDER DO GR.TOUCH tt,tx,ty PAUSE 20 UNTIL tt UNTIL 0 END deffn: FN.DEF tree(rd,mrd,x,y,a,l,nbr,lx,ly,la,nn) rd++ nn++ lr=INT(RND()*2)*2-1 IF rd