Эксперт
Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
ПТУ закончил
Код сильно напряжен. Можно сделать так:
CODE:int PosX, PosY;//Если не важны координаты можно использовать одни и те же переменные
int a=0;
loop:
pause(100);
mouse(LEFT,1029,485,1,w);
pause(100);
mouse(LEFT, 1006,347,1,w);
if (findimage(1, #Image_1[0][0], 0, #PosX, #PosY, 0, 0, 1444, 944, w)==1)
{
mouse(LEFT,997,353,1,w);pause(200); a++;
if (findimage(1, #Image_2[0][0], 0, #PosX, #PosY, 0, 0, 1444, 944, w)==1)
{
mouse(LEFT,997,353,1,w);pause(200); a++;
//Так далее
goto loop;
}
}
//Так как там разные координаты то примерно так можно
if (a<6)mouse(LEFT,982,313,1,w);
if (a==6)mouse(LEFT,1020,373,1,w);
if (a>6)mouse(LEFT,1005,376,1,w);
goto loop;
А можно все сделать в цикле так: Реализация массивов изображений в функциях loadimage, findimage, saveimage
CODE:int PosX, PosY;//Если не важны координаты можно использовать одни и те же переменные
int Image[20][200][200];
loadimage (#Image[0][0][0], "C:\Image_1.bmp");
loadimage (#Image[1][0][0], "C:\Image_2.bmp");
//.................
loop:
pause(100);
mouse(LEFT,1029,485,1,w);
pause(100);
mouse(LEFT, 1006,347,1,w);
int n=0;
q: if (n<количество)
{
if (findimage(1, #Image[n][0][0], 0, #PosX, #PosY, 0, 0, 1444, 944, w)==1)
{
mouse(LEFT,997,353,1,w);pause(200);
n++;
goto q;
}
if (n<6)mouse(LEFT,982,313,1,w);
if (n==6)mouse(LEFT,1020,373,1,w);
if (n>6)mouse(LEFT,1005,376,1,w);
goto loop;
}
else goto loop;
Мог ошибиться в подсчете циклов, но я думаю понятна тема.. |