Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: Mihail on December 19, 2018, 02:55:01 AM
-
Здравствуйте.Кто знает как сделать так чтоб происходил клик если одной из четырёх картинок небыло 10 раз.картинка в заданой области все время смещаеться с лево на право и когда доходит до правого края то спускаеться на ряд ниже и так дальше.каждый раз смещаясь на одну картинку в право предыдущея остаеться.всего в ряду 50 картинок,а рядов всего 20.
И так пока незаполняться все ряды.потом все сначала
-
Не думаю что по данному описанию можно сделать что-нибудь толковое. Ничего не понятно. В описании не хватает важной связующей информации.
Картинка в заданной области все время смещается слева направо и когда доходит до правого края то спускается на ряд ниже и так дальше. Всего в ряду 50 картинок, а рядов всего 20.
Это понятно
Каждый раз смещаясь на одну картинку в право предыдущая остается.
Если эта часть верна, то получаем всегда одну и ту же картинку множащуюся до 1000 шт. Пока смысла не видно.
Как сделать так чтоб происходил клик если одной из четырёх картинок не было 10 раз.
Всё стало сложнее. Откуда взялись 4 картинки? Понятно, что это 4 варианта, но где и что непонятно.
Где не было 10 раз? Когда все ряды заполнятся? В ряду? Или если другие варианты перевалили за 10? Вариантов уйма. Не ясно когда проверять.
Ведь в начале раунда, любого варианта меньше 10... постоянно кликать?
Пока писал, пришла Ванга и голосом Кашпировского обрисовала мне своё видение картины:
Всё описание вывернуть на изнанку.
Нужно кликать. Кликаем.
При каждом клике добавляется новая картинка (в начало, со сдвигом существующих, или в конец).
Клики останавливаем если из всех 4 вариантов картинки каждая появилась не меньше 10 раз.
Как появилось перестаём кликать и... (что?)
Но это не точно ;D.
-
Постараюсь изьяснитт правильно.
Есть 20 рядов в каждом ряду 50 квадратов в которых появляеться
одна из четырёх картинок.ето как листок в клетку.каждую минуту добавляеться одна из четырёх картинок.и так заполняються все ряды.с лева на право,когда ряд закончился то картинки начинают добавляться с нового ряда.всего получается 1000 картинок все верно.нужно чтоб скрипт сам определял какая из картинок непоявлялась 10 раз с последнего места ее появления и делал клик.надеюсь правильно изьяснил
-
Ну,почти угадал.
Нужно проводить проверку после появления новой карты. Есть возможность точно определить её появление?
Разбитие по рядам ничего не значит и не учитывается?
Тогда нужен скрин с размерами для подсчёта областей поиска.
Есть пока 2 пути решения
1. Просто определяем тип последней появившейся карты и ищем в области последняя-10 три оставшиеся. Если какой-то не нашли - конец.
2. Запоминаем в 4 переменных номер хода на каком появилась карта. Считаем ходы появления карт. При появлении общий счётчик ходов увеличиваем, определяем что за карта и обновляем счётчик этой карты. В результате на каждом ходе у нас есть 5 переменных общий счётчик и для каждой карты. Проверяем разницу каждой и общего, если больше 9 - конец.
-
Можете с кодом помочь?
-
Ето не карти а буквы их 4ре.щас покажу скрин(http://)
-
4 картинки буква ( К П Ч Б ) для каждой буквы свой клик
тоесть если десять раз небыло буквы "К" то клик LCLICK(1236,388)
буква "П" клик LCLICK(923,539)
буква "Ч" клик LCLICK(1236,382)
буква "Б" клик LCLICK(1257,179)
-
Ето не карти а буквы их 4ре.щас покажу скрин(http://)
Это не скрин, а фото с экрана. Познавательно для общего представления, но не больше.
С кодом помочь, только при наличии скрина (не сжатого png или bmp).
Нужно с него брать цвета и размеры.
И ещё вопрос, скрипт всегда будет запускаться при пустом поле или его можно включать в любое время и он должен проанализировать конец таблицы?
-
А, ещё что делать если не было нескольких?
Утрированный пример
К П Ч Б Б Б Б Б Б Б Б Б Б
-
вот так выглядит.да ето для ставок.нескольких небывает только одна из букв может непоявляться долго.и еще ето я для примера писал что двадцать рядов по 50 картинок.на самом деле нужно 10 рядов по 27 картинок в ряду
-
Так мне надо минимум чтоб 10 раз было ето раз ,а во вторых ето я просто для примера наклацал чтоб скрин сделать.а если такое и будет то минимум десять раз две небывает
-
//первое поле (прописываем свои координаты начала)
$startx = 500
$starty = 450
// размер клетки поля
$lx = 34
$ly = 30
// клеток поля...
$kx = 27
$ky = 10
// максимальное расстояние полей для реакции
$max_step = 10
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
IF($only = 0)
STRSEPARATE("К,П,Ч,Б", ",", $mast)
$endx = $startx + $lx*$kx
$endy = $starty + $ly*$ky
LOGCLEAR
$only = 1
END_IF
UNDEFINE($coord)
STRSEPARATE("0,0,0,0,0,0,0,0", ",", $coord)
GETSCREEN($startx,$starty, $endx, $endy)
FOR($m=0, $m < 4)
UNDEFINE($scan)
SCANPICTURE($scan, $startx,$starty, $endx, $endy, STRCONCAT($mast[$m], ".bmp"))
$a_size = ARRSIZE($scan)
IF($a_size > 0)
$coord[$m*2] = $scan[$a_size - 2]
$coord[($m*2)+1] = $scan[$a_size - 1]
END_IF
END_CYC
//FOR($i=0, $i < ARRSIZE($coord), 2)
// $x = $coord[$i]
// $y = $coord[$i+1]
// LOGWRITE("x/y ", $x, "/", $y)
// MOVE($x,$y)
// WAIT(1)
//END_CYC
// ищем последнюю букву
$curr_y = 0
FOR($i=0, $i < 8, 2)
$y = $coord[$i+1]
IF($y > $curr_y)
$curr_y = $y
END_IF
END_CYC
$curr_x = 0
FOR($i=0, $i < 8, 2)
$x = $coord[$i]
IF(($coord[$i+1] = $curr_y) & ($x > $curr_x))
$curr_x = $x
END_IF
END_CYC
LOGWRITE("current ", $curr_x, "/", $curr_y)
// считаем расстояние
$result = 100
FOR($m=0, $m < 4)
$x = $coord[$m*2]
$y = $coord[($m*2)+1]
IF(($curr_y - $y) > $ly)
LOGWRITE("Разница больше одного ряда")
$result = $m
$m = 100
ELSE
IF($curr_y > $y)
$x = $startx - ($endx - $x)
END_IF
$step = INT((($curr_x - $x) / $lx) + 0.5)
LOGWRITE("step ", $mast[$m], " ", $step)
IF($step > ($max_step-1))
$result = $m
$m = 100
END_IF
END_IF
END_CYC
// действие (клик)
IF($result < 100)
LOGWRITE("масть ", $mast[$result], " не было ", $step, " шагов")
SWITCH($result)
CASE(0) // К
LCLICK(1236,388)
CASE(1) // П
LCLICK(923,539)
CASE(2) // Ч
LCLICK(1236,382)
CASE(3) // Б
LCLICK(1257,179)
END_SWITCH
WAITMS(500)
END_IF
HALT
Если будет несколько невыпадений, сработает по приоритету порядка следования "К,П,Ч,Б"
Так же будет срабатывать в самом начале, пока масти ещё не выпадали ни разу.
К примеру начало ККБ - сработает П (она не выпадала)
ККБП - сработает Ч
-
И ето нескрипты заложенные,все дело в тосовке карт их тусуют по спецыальному методу.сначала есть закономерность игрок ведеться и ставит бах поменяли тосовку и ты слился.а если знать когда какая тосовка и играть на дистанцыях и немного то всегда в хорошем плюсе.у меня еуча прог которые вычисляют все тосовки.и стратегия рабочая.только нужно роботизировать процес ставок
-
спасибо щас проверю
-
Подскажите как высчитать правильно пиксели
-
Немогу код настроить тот что мне скинули.он неправильно считает
-
он то работает но неточно пишет количество шагов
-
Спасибо.работает точно.я бы сам не долумался что в етом может быть проблема
-
Щет. Я забыл образцы приложить. Да, их делал ровными по высоте.
Прикрепляю...
Поправил лог, теперь корректный при разнице больше ряда
//первое поле (прописываем свои координаты начала)
$startx = 500
$starty = 450
// размер клетки поля
$lx = 34
$ly = 30
// клеток поля...
$kx = 27
$ky = 10
// максимальное расстояние полей для реакции
$max_step = 10
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
IF($only = 0)
STRSEPARATE("К,П,Ч,Б", ",", $mast)
$endx = $startx + $lx*$kx
$endy = $starty + $ly*$ky
LOGCLEAR
$only = 1
END_IF
UNDEFINE($coord)
STRSEPARATE("0,0,0,0,0,0,0,0", ",", $coord)
GETSCREEN($startx,$starty, $endx, $endy)
FOR($m=0, $m < 4)
UNDEFINE($scan)
SCANPICTURE($scan, $startx,$starty, $endx, $endy, STRCONCAT($mast[$m], ".bmp"))
$a_size = ARRSIZE($scan)
IF($a_size > 0)
$coord[$m*2] = $scan[$a_size - 2]
$coord[($m*2)+1] = $scan[$a_size - 1]
END_IF
END_CYC
//FOR($i=0, $i < ARRSIZE($coord), 2)
// $x = $coord[$i]
// $y = $coord[$i+1]
// LOGWRITE("x/y ", $x, "/", $y)
// MOVE($x,$y)
// WAIT(1)
//END_CYC
// ищем последнюю букву
$curr_y = 0
FOR($i=0, $i < 8, 2)
$y = $coord[$i+1]
IF($y > $curr_y)
$curr_y = $y
END_IF
END_CYC
$curr_x = 0
FOR($i=0, $i < 8, 2)
$x = $coord[$i]
IF(($coord[$i+1] = $curr_y) & ($x > $curr_x))
$curr_x = $x
END_IF
END_CYC
LOGWRITE("current ", $curr_x, "/", $curr_y)
// считаем расстояние
$result = 100
FOR($m=0, $m < 4)
$x = $coord[$m*2]
$y = $coord[($m*2)+1]
IF(($curr_y - $y) > $ly)
//LOGWRITE("Разница больше одного ряда")
$result = $m
$m = 200
ELSE
IF($curr_y > $y)
$x = $startx - ($endx - $x)
END_IF
$step = INT((($curr_x - $x) / $lx) + 0.5)
LOGWRITE("step ", $mast[$m], " ", $step)
IF($step > ($max_step-1))
$result = $m
$m = 100
END_IF
END_IF
END_CYC
// действие (клик)
IF($result < 100)
IF($m > 150)
LOGWRITE("масть ", $mast[$result], " не было больше 27 шагов")
ELSE
LOGWRITE("масть ", $mast[$result], " не было ", $step, " шагов")
END_IF
SWITCH($result)
CASE(0) // К
LCLICK(1236,388)
CASE(1) // П
LCLICK(923,539)
CASE(2) // Ч
LCLICK(1236,382)
CASE(3) // Б
LCLICK(1257,179)
END_SWITCH
WAITMS(500)
END_IF
HALT
-
Огромнейшее спасибо.работает супер.
-
Такой вопрос,в скрипте стоит 4 масти а если мне нужно туда поставить 8 другиг картинок и чтоб он определял так само,что нужно поменять в скрипте?
-
Такой вопрос,в скрипте стоит 4 масти а если мне нужно туда поставить 8 другиг картинок и чтоб он определял так само,что нужно поменять в скрипте?
Дописать сюда
STRSEPARATE("К,П,Ч,Б", ",", $mast)
Здесь добавить нулей чтоб было количество букв*2
STRSEPARATE("0,0,0,0,0,0,0,0", ",", $coord)
В двух циклах поменять число 4 (кол-во букв)
FOR($m=0, $m < 4)
И в двух циклах поменять 8 (кол-во букв*2)
FOR($i=0, $i < 8, 2)
А вообще-то об этом нужно говорить до написания, тогда будет правиться в одном месте.
К чему было два раза называть 20 рядов по 50 букв, если их 10х27 ? Зачем эти непонятные шифры?
Если их бывает разное количество, то так нужно сразу и говорить обычно столько-то, но может меняться в таких-то пределах.
-
Я ничего нестараюсь скрыть просто долго обьяснять.если вам интересно то скажу карты от 2 до 7 черного цвета ето знак минус
красного цвета знак плюс
9 10 А красные красный кружок
Черные черный кружок
Валет дама король черные черная решотка
Красные красная решотка
8 черная так и есть 8 черная
8 красная так и есть 8 красная
-
ето на красное черное