Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Поиск объектов и время до их нахождения

Страниц (1): [1]
 

1. Arimor - 01 Декабря, 2020 - 11:52:45 - перейти к сообщению
Помогите оптимизировать код:
Нужно найти кликнуть на все желтые кружки в приоритете те, что ближе. Персонаж в центре съедает их как только дойдет до них, но кругляшки хаотично перемещаются по карте. Так же кругляшки могут исчезнуть до того как персонаж дойдет до них. Персонаж может сам поменять местоположение или перед ним появится преграда.

В общем получился такой код но явно можно как то его как т оптимизировать чтобы находил и съедал кружки быстрее.

CODE:

int xr=399;
int yr=330;//центр карты
int x[100], y[100];


loop()
{
//поиск в ближайшем кругу
if(find_object(333, 271, 478, 393)==1) {
for (int a1=0; a1<15; a1++)
{
klik(333, 271, 478, 393);
}
a1=0;
sleep(30);
}
}

//поиск в дальнем кругу
if(find_object(0, 0, 800, 600)==1) {
for (int a=0; a<30; a++)
{
klik(0, 0, 800, 600);
}
a=0;
sleep(30);

}




function find_object(int kor1, int kor2, int kor3, int kor4) {
int k=findcolor(1, #x[0], #y[0], kor1, kor2, kor3, kor4, 65535, -1);
if(k>0) return 1;
return 0;
}


function klik(int kor1, int kor2, int kor3, int kor4) {

int k=findcolor(1, #x[0], #y[0], kor1, kor2, kor3, kor4, 65535, -1);
//int k=findimage(1, #Image_1[0][0], 13553358, #x[0], #y[0], 0, 0, 800, 600, -1);

textbkcolor (255, 65280);
for(int i=0; i<k; i++)
{
textout(i, x[i]+kor1, y[i]+kor2, format(i), 0);
//mouse(LEFT, x[i]+kor1, y[i]+kor2);
sleep(30);
}
}



2. Zireael - 01 Декабря, 2020 - 16:33:36 - перейти к сообщению
 Цитата:
Нужно найти кликнуть на все желтые кружки в приоритете те, что ближе.

Сортировать по расстоянию от указанной точки, функция sort.

Powered by ExBB FM 1.0 Final