program New; {.include SRL/SRL.scar} function InIntArray(TheInt:integer;TheArray:array of integer):boolean; var i:integer; begin repeat if TheArray[i]=TheInt then result:=true; i:=i+1; until ((i=getarraylength(TheArray)) or (result)); end; procedure RemoveFromTPA(Index:integer; var TPA:array of tpoint); var swapTP:tpoint; AL:integer; begin AL:=getarraylength(TPA); swapTP:=TPA[AL-1]; TPA[AL-1]:=TPA[Index]; TPA[Index]:=swapTP; setarraylength(TPA,AL-1); end; type ColorTPA = record color:integer; tpa: array of tpoint; end; var PlayerDotCTPA:array [0..5] of ColorTPA; parray,parray2,tx,ty,tmpcolor,mmbmp:integer; ColorArray: array of integer; MyCanvas:tcanvas; procedure updatebitmap(sx,sy,color:integer); begin FastSetPixel(mmbmp,sx-mmx1,sy-mmy1,color); CopyCanvas(getbitmapcanvas(mmbmp),getdebugcanvas,0,05,mmx2-mmx1,mmy2-mmy1,0,0,748-541,175); DisplayDebugImgWindow(748-541,175) end; begin setupsrl; DisplayDebugImgWindow(748-541,175)//displays debug image MMbmp:=BitmapFromString(mmx2-mmx1,mmy2-mmy1,','); CopyClientToBitmap(MMbmp,mmx1,mmy1,mmx2,mmy2); CopyCanvas(getbitmapcanvas(mmbmp),getdebugcanvas,0,05,mmx2-mmx1,mmy2-mmy1,0,0,748-541,175); DisplayDebugImgWindow(748-541,175) setarraylength(colorarray,6); ColorArray[0]:=16711422; ColorArray[1]:=15527148; ColorArray[2]:=13816530; ColorArray[3]:=14869218; ColorArray[4]:=12961221; ColorArray[5]:=65536; PlayerDotCTPA[0].color:=16711422; PlayerDotCTPA[1].color:=15527148; PlayerDotCTPA[2].color:=13816530; PlayerDotCTPA[3].color:=14869218; PlayerDotCTPA[4].color:=12961221; PlayerDotCTPA[5].color:=65536; for parray:=0 to 5 do begin FindColorsSpiralTolerance(tx,ty,PlayerDotCTPA[parray].tpa, PlayerDotCTPA[parray].color,mmx1,mmy1,mmx2,mmy2,0); end; repeat for parray:=0 to 5 do begin for parray2:=0 to getarraylength(PlayerDotCTPA[parray].tpa)-1 do begin tmpcolor:=getcolor(PlayerDotCTPA[parray].tpa[parray2].x,PlayerDotCTPA[parray].tpa[parray2].y); if not(InIntArray(tmpcolor,ColorArray)) then // if not(tmpcolor=PlayerDotCTPA[parray].color) then begin UpdateBitmap(PlayerDotCTPA[parray].tpa[parray2].x,PlayerDotCTPA[parray].tpa[parray2].y,tmpcolor); RemoveFromTPA(parray2,PlayerDotCTPA[parray].tpa); end; end; end; wait(500); // CopyCanvas(getbitmapcanvas(mmbmp),getdebugcanvas,0,05,mmx2-mmx1,mmy2-mmy1,0,0,748-541,175); //DisplayDebugImgWindow(748-541,175) //writeln('new bmp'); //repeat // wait(30); //until isfkeydown(12); //repeat // wait(30); //until isfkeydown(11); until isfkeydown(10); FreeBitmap(mmbmp); end.