решил начать изучать Delphi и в качестве стимула решил написать программу Бота для одной игрушки. Суть его работы такова: есть в игре полоса (типа жизней или маны) которая может заполнятся синим цветом , а может оставаться на одном месте. В зависимости от поведения этой полосы нужно выполнять разные действия.
вот костяк программы:
PHP код:
procedure TForm1.FormCreate(Sender: TObject);
begin
DC := GetDC( 0 );
end;
procedure TForm1.Timer3Timer(Sender: TObject);
var
prog:array[0..100] of Integer;
Bl:array[0..100] of Integer;
ColorValue: Cardinal;
PosX1, i: Integer;
begin
for i:=0 to 45 do
begin
posX1:=PosX+i*5;
ColorValue := GetPixel( DC, PosX1, PosY ); // Узнаю цвет пикселя в полученных координатах
Bl[i]:=GetBValue(ColorValue);
if Bl[i]>120 then prog[i]:=1 else prog[i]:=0;
end;
for i:=0 to 45 do rezul:=rezul+prog[i]; //Определение позиции
r[2]:=r[1];
r[1]:=rezul;
rezul:=0;
if (r[2] < r[1]) and (r[2]<>0) then //Если полоса растет
begin
//выполняется действие
end;
if (r[2] = r[1]) and (r[2]<>0) then //Если полоса стоит на месте
begin
//выполняется действие
end;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
ReleaseDC( 0, DC );
end;
Все работает неплохо, но после минуты работы программа начинает воспринимать экран как черные пиксели. Есть ли способ побороть такое непотребство ?