fn.def n() x=rnd()*3+1 if rnd()<0.5 then x=-x fn.rtn x fn.end GR.OPEN 255,0,0,0 WAKELOCK 3 GR.ORIENTATION 2 GR.SCREEN w,h bx=100:hh=70 wx=FLOOR(w/bx):wy=FLOOR(h/bx) DIM grid[wx,wy] GR.SET.ANTIALIAS 0 GR.COLOR 255,255,255,255 FOR y=1 TO wy FOR x=1 TO wx GR.RECT grid[x,y],(x-1)*bx,(y-1)*bx,x*bx,y*bx NEXT NEXT GR.RENDER again: ag=0 let xb=w/n() let yb=-w/n() let xr=w/n() let yr=w/n() let xg=w/n() let yg=w/n() loop: t+=1 FOR y=1 TO wy FOR x=1 TO wx LET xc=x/w LET yc=y/h LET bb=SIN(xb*xc-yb*yc-0.1*t)+1 LET rr=SIN(xr*xc-yr*yc-0.1*t)+1 LET gg=SIN(xg*xc+yg*yc-0.05*t)+1 GR.COLOR 255,hh*rr,hh*gg,hh*bb GR.PAINT.GET p:GR.MODIFY grid[x,y],"paint",p NEXT NEXT GR.RENDER if ag then goto again GOTO loop ONGRTOUCH: Dialog.message "Lumagrid"," change pattern?",s,"new","quit" if s=2 then exit ag=1 gr.ongrtouch.resume