screen 0,640,480,1,0,0 randomize maxmem=32000 dim px,maxmem dim py,maxmem dim pa,maxmem dim pb,maxmem dim dix,4 dim diy,4 dix.0=0,1,0,-1 diy.0=-1,0,1,0 redraw 2 color 0,0,0 boxf 0,0,639,479 color 255,255,255 boxf 1,1,638,478 color 0,0,0 repeat 10 rnd x,640 rnd xx,640 line x,0,xx,479 rnd y,480 rnd yy,480 line 0,y,639,yy loop redraw 1 bord=$000000 *main rnd r,255 r++ rnd g,255 g++ rnd b,255 b++ ginfo 1 foc=prmx stick a,0 x=mousex y=mousey if (foc=0)&(a=256) : goto *paint await 5 goto *main *paint pget x,y if (rval*65536)+(gval*256)+bval=bord: goto *main color r,g,b pset x,y pget x,y col=(rval*65536)+(gval*256)+bval repeat maxmem px.cnt=0 py.cnt=0 pa.cnt=0 pb.cnt=-1 loop px.0=x py.0=y pa.0=2 robos=1 finsw=0 newrb=1 repeat redraw 2 repeat maxmem i=cnt if pa.i=0 : break if pa.i=3 : continue if pa.i=1 : pa.i=2:continue mov=0 xx=px.i yy=py.i die=0 repeat 4 j=cnt if j=pb.i : die++:continue v=xx+dix.j w=yy+diy.j pget v,w gc=(rval*65536)+(gval*256)+bval if (gc=bord)|(gc=col)|(v<0)|(v>639)|(w<0)|(w>479) : die++:continue mov++ if mov=1 : pb.i=j:px.i=v:py.i=w:pset v,w:continue if newrb=maxmem : dialog "メモリが足りません",1,"Paint Sample":end robos++ finsw=1 px.newrb=v py.newrb=w pa.newrb=1 pb.newrb=4-j pset v,w newrb++ loop if die=4 : pa.i=3:robos-- loop redraw 1 await 1 if robos<1 : break loop goto *main