Прохожий
Покинул форум
Сообщений всего: 12
Дата рег-ции: Июль 2020
Репутация: 0
|
В окне нужно найти картинки city.bmp их может быть от 0 до 10 в разных строчках и проверить есть ли у каждой из этих картинок в той же строчке картинка zashita.bmp если хотя бы в 1 случае zashita.bmp отсутствует то код продолжится иначе нужно зациклить.
Вот код
Цитата: win wg=window ("Бла-бла - Google Chrome", "Chrome_WidgetWin_1", -1);
if (wg==0){messagebox ("error wg");}
win w=window ("Chrome Legacy Window", "Chrome_RenderWidgetHostHWND", wg);
if (w==0){messagebox ("error w");}
activate(wg);
pause(1000);
wg.widthclient = (1024);
wg.heightclient = (768);
moveclient(wg);
if (wg==0){messagebox ("error moveclient");}
pause(1000);
int city[100][100];
loadimage (#city[0][0], pathfolder()+"city.bmp");
int city_x[23], city_y[20];
CITY:;
int kol_city = findimage(-1, #city[0][0], -1, #city_x[0], #city_y[0], 0, 0, w.widthclient, w.heightclient, 5, 5, 5, 5, 5, 5, 95, 1, w);
if (kol_city == 0)
{
//messagebox ("Невижу Город");
sendmouse(LEFT, rand (951, 1009), rand (85, 100), w);
pause(rand (30000, 60000));
goto CITY;
}
int zashita[150][35];
loadimage (#zashita[0][0], pathfolder()+"zashita.bmp");
int zashita_x, zashita_y;
for (int n=0; n < kol_city; n++)
{
if(findimage(1, #zashita[0][0], -1, #zashita_x, #zashita_y, 0, city_y[n] - 10, w.widthclient, 40, 5, 5, 5, 5, 5, 5, 95, 1, w)==1) // ПОСЛЕ ЭТОЙ СТРОКИ ВЫСКАКИВАЕТ "Out of Memory"
{
messagebox ("+ 1 к защите Есть");
}
else
{
goto BAT;
}
}
goto CITY;
BAT:;
messagebox ("Нашол Город без +1 к защите");
Вот что пишет отладчик с включенной галочкой "Сканировать значения переменных"
Цитата: win wg = window ( " Бла бла - Google Chrome " , " Chrome_WidgetWin_1 " , - 1 )
if ( wg == 0 )
win w = window ( " Chrome Legacy Window " , " Chrome_RenderWidgetHostHWND " , wg )
if ( w == 0 )
activate ( wg )
wg.widthclient = ( 1024 )
wg.heightclient = ( 768 )
moveclient ( wg )
if ( wg == 0 )
pause ( 1000 )
loadimage ( # city'-842150451' [ 0 ] [ 0 ] , pathfolder ( ) + " city.bmp " )
int kol_city = findimage ( -1 , # city'14737634' [ 0 ] [ 0 ] , - 1 , # city_x'-842150451' [ 0 ] , # city_y'-842150451' [ 0 ] , 0 , 0 , w.widthclient'1219' , w.heightclient'652' , 5 , 5 , 5 , 5 , 5 , 5 , 95 , 1 , w )
if ( kol_city'1' == 0 )
loadimage ( # zashita'-842150451' [ 0 ] [ 0 ] , pathfolder ( ) + " zashita.bmp " )
for ( int n = 0 ; n'-842150451' < kol_city'1' ; n'-842150451' ++ ) // ЗДЕСЬ Я ПРИСВАИВАЮ ЗНАЧЕНИЕ n = 0 А В СЛЕДУЮЩЕЙ ИНСТРУКЦИИ ОНО МАГИЧЕСКИМ ОБРАЗОМ СТАНОВИТСЯ n'-842150451'
if ( findimage ( 1 , # zashita'14737634' [ 0 ] [ 0 ] , - 1 , # zashita_x'-842150451' , # zashita_y'-842150451' , 0 , city_y'135' [ n'0' ] - 10 , w.widthclient'1219' , 40 , 5 , 5 , 5 , 5 , 5 , 5 , 95 , 1 , w ) == 1 )
Подскажите пожалуйста
1.Почему n меняет значение, хотя в следующей строчке оно опять равно 0 "city_y'135' [ n'0' ]",
2.Почему вместо координат переменные "zashita_x" и "zashita_y" выдают это же значение, хотя city_y выдал верные координаты
3.Что исправить в коде чтобы не выскакивала ошибка "Out of memory"
Заранее большое спасибо. |