Кибор » Корзина » Не актуальные темы » Упрощенное программирование

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

1. Kibor - 13 Декабря, 2015 - 17:57:21 - перейти к сообщению
Набросал несколько функций, позволяющие строить логику более человеческим языком

CODE:
//сама логика строится так
окно("Калькулятор");//имя окна в котором работать бот станет

таймер(0);//включили таймер 0
ждать(500);//пауза в пол секунды


if (нашли("C:\Image_0.bmp", -1, 0, 100)>0)//найти в окне все изображения C:\Image_0.bmp (-1 цвет прозрачности отсутствует, 0 разбежность цвета от оригинала, 100 процентов совпадения)
{
for (n=0; n<kol; n++)//(не менять названия переменных) перечслить их и
{
мышь("левая", 7, 5);//кликнуть по ним +7 +5 относительно верхнего левого угла найденного элемента
ждать(500);//пауза в пол секунды
}
}

if (нашли("C:\Image_1.bmp", -1, 0, 100)>0)//найти в окне изображениe C:\Image_1.bmp
{
мышь("левая", 5, 5);//кликнуть по нему +5 +5 относительно верхнего левого угла найденного элемента (средняя правая)
ждать(500);//пауза в пол секунды
клава(57);//нажать 9 (код клавиши ее 57 http://filesd.net/kibor/codekeys.php)
ждать(500);//пауза в пол секунды
}
//конец логики...........................




CREATE_TIMER(0, 500)//добавили таймер 0
{
//этот код выполняется каждые 500 мсек
if (пиксель(3355443, 47, 40, 10)==1)//если в координатах 47, 40 нашли пиксель цветом 3355443 +-10 по каждому из цветов RGB
{
клава(112);//нажать f1 (код клавиши ее 112 http://filesd.net/kibor/codekeys.php)
}
}







///////////Это внизу скрипта (не надо изменять)
function таймер(int p)
{
enabletimer(p);

}



function пиксель(int col, int x, int y, int r)
{
return scanpixel(x, y, col, r, r, r, r, r, r, w);
}

function ждать(int p)
{
pause(p);
}

function клава(int c)
{
key(c, 1, 1, w);
}

function окно(string name)
{
w=window(name);
load_image=0;
}

function нашли(string file, int col, int r, int p)
{
n=0;
for (int i=0; i<load_image; i++)
{
if (name_image[i]==file)goto a;
}
loadimage (#image[i][0][0], file);
name_image[load_image]=file;
load_image++;
a: kol=findimage(512, #image[i][0][0], col, #x[0], #y[0], 0, 0, w.widthclient, w.heightclient, r, r, r, r, r, r, p, -1, w);
return kol;
}

function мышь(string id, int sx, int sy)
{
if (id=="левая")mouse(LEFT, x[n]+sx, y[n]+sy, 1, w);
if (id=="средняя")mouse(MIDDLE, x[n]+sx, y[n]+sy, 1, w);
if (id=="правая")mouse(RIGHT, x[n]+sx, y[n]+sy, 1, w);
}

win w;
int image[100][500][500];
string name_image[100];
int load_image;
int x[512], y[512];
int n, kol;



пояснение..
это скопировать и спустить вниз редактора
CODE:
///////////Это внизу скрипта (не надо изменять)
function таймер(int p)
{
enabletimer(p);

}



function пиксель(int col, int x, int y, int r)
{
return scanpixel(x, y, col, r, r, r, r, r, r, w);
}

function ждать(int p)
{
pause(p);
}

function клава(int c)
{
key(c, 1, 1, w);
}

function окно(string name)
{
w=window(name);
load_image=0;
}

function нашли(string file, int col, int r, int p)
{
n=0;
for (int i=0; i<load_image; i++)
{
if (name_image[i]==file)goto a;
}
loadimage (#image[i][0][0], file);
name_image[load_image]=file;
load_image++;
a: kol=findimage(512, #image[i][0][0], col, #x[0], #y[0], 0, 0, w.widthclient, w.heightclient, r, r, r, r, r, r, p, -1, w);
return kol;
}

function мышь(string id, int sx, int sy)
{
if (id=="левая")mouse(LEFT, x[n]+sx, y[n]+sy, 1, w);
if (id=="средняя")mouse(MIDDLE, x[n]+sx, y[n]+sy, 1, w);
if (id=="правая")mouse(RIGHT, x[n]+sx, y[n]+sy, 1, w);
}

win w;
int image[100][500][500];
string name_image[100];
int load_image;
int x[512], y[512];
int n, kol;



логику теперь можно строить так
это пишем сверху редактора
CODE:
//сама логика строится так
окно("Калькулятор");//имя окна в котором работать бот станет

таймер(0);//включили таймер 0
ждать(500);//пауза в пол секунды


if (нашли("C:\Image_0.bmp", -1, 0, 100)>0)//найти в окне все изображения C:\Image_0.bmp (-1 цвет прозрачности отсутствует, 0 разбежность цвета от оригинала, 100 процентов совпадения)
{
for (n=0; n<kol; n++)//(не менять названия переменных) перечслить их и
{
мышь("левая", 7, 5);//кликнуть по ним +7 +5 относительно верхнего левого угла найденного элемента
ждать(500);//пауза в пол секунды
}
}

if (нашли("C:\Image_1.bmp", -1, 0, 100)>0)//найти в окне изображениe C:\Image_1.bmp
{
мышь("левая", 5, 5);//кликнуть по нему +5 +5 относительно верхнего левого угла найденного элемента (средняя правая)
ждать(500);//пауза в пол секунды
клава(57);//нажать 9 (код клавиши ее 57 http://filesd.net/kibor/codekeys.php)
ждать(500);//пауза в пол секунды
}
//конец логики...........................




CREATE_TIMER(0, 500)//добавили таймер 0
{
//этот код выполняется каждые 500 мсек
if (пиксель(3355443, 47, 40, 10)==1)//если в координатах 47, 40 нашли пиксель цветом 3355443 +-10 по каждому из цветов RGB
{
клава(112);//нажать f1 (код клавиши ее 112 http://filesd.net/kibor/codekeys.php)
}
}

Powered by ExBB FM 1.0 Final