#include <iostream>
#include <thread> // Для функции sleep
// Предполагаемые определения функций и переменных
struct Point {
int x, y;
static Point get(int x, int y) {
Point p;
p.x = x;
p.y = y;
return p;
}
};
// Предполагаемая функция getColor
bool getColor(int color) {
// Здесь должна быть реализация получения цвета
return color == 9803408; // Примерная реализация
}
// Предполагаемая функция getContoursCount
int getContoursCount(const Point& LTS, const Point& RDS) {
// Здесь должна быть реализация подсчёта контуров
return 4; // Примерная реализация
}
// Предполагаемая функция click
void click(const Point& point) {
// Здесь должна быть реализация клика мыши
std::cout << "Click at (" << point.x << ", " << point.y << ")" << std::endl;
}
// Предполагаемая функция click с координатами
void click(int x, int y) {
// Здесь должна быть реализация клика мыши
std::cout << "Click at (" << x << ", " << y << ")" << std::endl;
}
// Предполагаемая функция sleep
void sleep(int milliseconds) {
std::this_thread::sleep_for(std::chrono::milliseconds(milliseconds));
}
// Предполагаемая функция startScreenCapture
void startScreenCapture(int param) {
// Здесь должна быть реализация начала захвата экрана
std::cout << "Starting screen capture with parameter: " << param << std::endl;
}
// Определение переменной EXIT
bool EXIT = false;
int main() {
Point update = Point::get(938, 379); // ОБНОВЛЕНИЕ ЗАПРОСОВ
int nU = 9803408;
int NOSlot = 4; // КОЛИЧЕСТВО СЛОТОВ
int NOSticker = 4; // КОЛИЧЕСТВО СТИКЕРОВ
int FSTS = 154; // ОТ 1 ЛОТА ДО 2
int FSTSL = 69; // НА 1 ЛОТЕ
Point LTSticker = Point::get(1615, 552); // ЛЕВЫЙ ВЕРХНИЙ
Point RDSticker = Point::get(1668, 598); // ПРАВЫЙ НИЖНИЙ
Point confirm = Point::get(1200, 764); // ПОДТВЕРДИТЬ
Point Back = Point::get(100, 100); // ПРЕДПОЛАГАЕМОЕ ЗНАЧЕНИЕ ДЛЯ BACK
startScreenCapture(2);
sleep(1000);
Point LTS = Point::get();
Point RDS = Point::get();
while (!EXIT) {
if (getColor(nU) == nU) {
click(update);
sleep(77);
}
for (int i = 0; i < NOSlot; i++) {
LTS.x = LTSticker.x - (FSTSL * (NOSticker - 1));
RDS.x = RDSticker.x - (FSTSL * (NOSticker - 1));
LTS.y = LTSticker.y + (FSTS * i);
RDS.y = RDSticker.y + (FSTS * i);
if (getContoursCount(LTS, RDS) > 3) {
click(2105, 568 + (FSTS * i));
sleep(7);
click(confirm);
sleep(7);
click(confirm);
sleep(50);
click(Back);
sleep(200);
click(update);
sleep(10);
click(update);
sleep(400);
}
}
click(update);
sleep(80);
click(update);
sleep(350);
}
return 0;
}
int nU = 9803408; //
int NOSlot = 4; // КОЛИЧЕСТВО СЛОТОВ \\
int NOSticker = 4; // КОЛИЧЕСТВО СТИКЕРОВ
int FSTS = 154 // ОТ 1 ЛОТА ДО 2 \\
int FSTSL =69 ; // НА 1 ЛОТЕ \\
Point LTSticker = Point.get(1615,552); // ЛЕВЫЙ ВЕРХНИЙ \\
Point RDSticker = Point.get(1668,598); // ПРАВЫЙ НИЖНИЙ \\
Point confirm = Point.get(1200,764); // ПОДТВЕРДИТЬ \\
startScreenCapture(2);
sleep(1000);
Point LTS = Point.get();
Point RDS = Point.get();
while(!EXIT){
if(getColor(9803408) == nU){
click(update);
sleep(77);
}
for(int i = 0;i < NOSlot; i++){
LTS.x = LTSticker.x - (FSTSL * (NOSticker - 1));
RDS.x = RDSticker.x - (FSTSL * (NOSticker -1));
LTS.y = LTSticker.y + (FSTS * i);
RDS.y = RDSticker.y + (FSTS * i);
if(getContoursCount(LTS,RDS) > 3){
click(2105,568 + (FSTS * i));
sleep(7);
click(confirm);
sleep(7);
click(confirm);
sleep(50);
click(Back);
sleep(200);
click(update);
sleep(10);
click(update);
sleep(400);
}
}
click(update);
sleep(80);
click(update);
sleep(350);
}