Мастер
Покинул форум
Сообщений всего: 184
Дата рег-ции: Авг. 2020
Репутация: 1
|
Здравствуйте, работаю в визуальном редакторе. Есть начальные координаты x=500 y=300. Пытаюсь сделать так, чтобы мышь ставила точки в строчку со смещением в 20 пикселей вправо, потом опускалась на 15 пикселей вниз, и снова ставила точки, начиная слева.
Написал алгоритм, но он делает 5 точек (N<5), но опускается бесконечно, хотя во втором цикле задано S<2, т.е. должно быть только 2 строки.
Алгоритм в визуальном редакторе:
[img](для просмотра ссылки Вам необходимо авторизоваться) /img]
Выглядит так:(для просмотра ссылки Вам необходимо авторизоваться) Как именно надо написать 2 цикла, чтобы было 2 строки по 5 точек?
Сам код из визуального редактора:
CODE:int N;
win W_Kib;
int S;
pause(1000);
int xM_Kib, yM_Kib;
getmouse(xM_Kib, yM_Kib);
W_Kib=getwindow(0, xM_Kib, yM_Kib);
int eX_Kib, eY_Kib;
eX_Kib=W_Kib.widthclient;
eY_Kib=W_Kib.heightclient;
int x1 = 500, y1 = 300;
KIB_1: for(N=0; N<5; N++)
{
x1 = x1 + 20;
mousemove (x1, y1);
sleep (100);
Mouse(1, #W_Kib, W_Kib.leftclient, W_Kib.topclient, 0, x1, y1, "Левую клик", 0);
}
for(S=0; S<2; S++)
{
x1 = 500;
y1 = y1 + 15;
}
goto KIB_1;
function Mouse(int ew, win #w, int v_x, int v_y, int p1, int x, int y, string m, int p2)
{
pause(p1);
if (ew==0 || ew==1)
{
if (ew==1){x=v_x+x; y=v_y+y;}
if (m=="Левую клик"){mouse(LEFT, x, y); goto hy;}
if (m=="Среднюю клик"){mouse(MIDDLE, x, y); goto hy;}
if (m=="Правую клик"){mouse(RIGHT, x, y); goto hy;}
if (m=="Левую нажать"){mousedown(LEFT, x, y); goto hy;}
if (m=="Среднюю нажать"){mousedown(MIDDLE, x, y); goto hy;}
if (m=="Правую нажать"){mousedown(RIGHT, x, y); goto hy;}
if (m=="Левую отпустить"){mouseup(LEFT, x, y); goto hy;}
if (m=="Среднюю отпустить"){mouseup(MIDDLE, x, y); goto hy;}
if (m=="Правую отпустить"){mouseup(RIGHT, x, y); goto hy;}
if (m=="Левая двойной клик"){mousedbl(LEFT, x, y); goto hy;}
if (m=="Средняя двойной клик"){mousedbl(MIDDLE, x, y); goto hy;}
if (m=="Правая двойной клик"){mousedbl(RIGHT, x, y); goto hy;}
if (m=="Переместить"){mousemove(x, y); goto hy;}
}
if (ew==2)
{
if (m=="Левую клик"){sendmouse(LEFT, x, y, w); goto hy;}
if (m=="Среднюю клик"){sendmouse(MIDDLE, x, y, w); goto hy;}
if (m=="Правую клик"){sendmouse(RIGHT, x, y, w); goto hy;}
if (m=="Левую нажать"){sendmousedown(LEFT, x, y, w); goto hy;}
if (m=="Среднюю нажать"){sendmousedown(MIDDLE, x, y, w); goto hy;}
if (m=="Правую нажать"){sendmousedown(RIGHT, x, y, w); goto hy;}
if (m=="Левую отпустить"){sendmouseup(LEFT, x, y, w); goto hy;}
if (m=="Среднюю отпустить"){sendmouseup(MIDDLE, x, y, w); goto hy;}
if (m=="Правую отпустить"){sendmouseup(RIGHT, x, y, w); goto hy;}
if (m=="Левая двойной клик"){sendmousedbl(LEFT, x, y, w); goto hy;}
if (m=="Средняя двойной клик"){sendmousedbl(MIDDLE, x, y, w); goto hy;}
if (m=="Правая двойной клик"){sendmousedbl(RIGHT, x, y, w); goto hy;}
if (m=="Переместить")sendmousemove(x, y, w);
}
hy: if (m!="Бездействие")pause (p2);
}
(Добавление)
А, я зациклил. Все, вопросов нет
(Добавление)
Надо было сделать цикл в цикле
[img](для просмотра ссылки Вам необходимо авторизоваться) /img] |