All pastes #450284 Raw Edit

Stuff

public text v1 · immutable
·published 2007-04-20 18:52 UTC
rendered paste body
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.