Author Topic: Действие если картинки небыло 10 раз  (Read 5415 times)

0 Members and 1 Guest are viewing this topic.

Mihail

  • Освоившийся
  • **
  • Posts: 25
    • View Profile
Здравствуйте.Кто знает как сделать так чтоб происходил клик если одной из четырёх картинок небыло 10 раз.картинка в заданой области все время смещаеться с лево на право и когда доходит до правого края то спускаеться на ряд ниже и так дальше.каждый раз смещаясь на одну картинку в право предыдущея остаеться.всего в ряду 50 картинок,а рядов всего 20.
И так пока незаполняться все ряды.потом все сначала
« Last Edit: December 19, 2018, 03:19:46 AM by Mihail »

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Действие если картинки небыло 10 раз
« Reply #1 on: December 19, 2018, 10:25:01 AM »
Не думаю что по данному описанию можно сделать что-нибудь толковое. Ничего не понятно. В описании не хватает важной связующей информации.

Картинка в заданной области все время смещается слева направо и когда доходит до правого края то спускается на ряд ниже и так дальше. Всего в ряду 50 картинок, а рядов всего 20.
Это понятно

Каждый раз смещаясь на одну картинку в право предыдущая остается.
Если эта часть верна, то получаем всегда одну и ту же картинку множащуюся до 1000 шт. Пока смысла не видно.

Как сделать так чтоб происходил клик если одной из четырёх картинок не было 10 раз.
Всё стало сложнее. Откуда взялись 4 картинки? Понятно, что это 4 варианта, но где и что непонятно.
Где не было 10 раз? Когда все ряды заполнятся? В ряду? Или если другие варианты перевалили за 10? Вариантов уйма. Не ясно когда проверять.
Ведь в начале раунда, любого варианта меньше 10... постоянно кликать?


Пока писал, пришла Ванга и голосом Кашпировского обрисовала мне своё видение картины:
Всё описание вывернуть на изнанку.
Нужно кликать. Кликаем.
При каждом клике добавляется новая картинка (в начало, со сдвигом существующих, или в конец).
Клики останавливаем если из всех 4 вариантов картинки каждая появилась не меньше 10 раз.
Как появилось перестаём кликать и... (что?)
Но это не точно  ;D.


Mihail

  • Освоившийся
  • **
  • Posts: 25
    • View Profile
Re: Действие если картинки небыло 10 раз
« Reply #2 on: December 19, 2018, 12:17:00 PM »
Постараюсь изьяснитт правильно.
Есть 20 рядов в каждом ряду 50 квадратов в которых появляеться
одна из четырёх картинок.ето как листок в клетку.каждую минуту добавляеться одна из четырёх картинок.и так заполняються все ряды.с лева на право,когда ряд закончился то картинки начинают добавляться с нового ряда.всего получается 1000 картинок все верно.нужно чтоб скрипт сам определял какая из картинок непоявлялась 10 раз с последнего места ее появления и делал клик.надеюсь правильно изьяснил

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Действие если картинки небыло 10 раз
« Reply #3 on: December 19, 2018, 01:43:16 PM »
Ну,почти угадал.

Нужно проводить проверку после появления новой карты. Есть возможность точно определить её появление?
Разбитие по рядам ничего не значит и не учитывается?
Тогда нужен скрин с размерами для подсчёта областей поиска.

Есть пока 2 пути решения
1. Просто определяем тип последней появившейся карты и ищем в области последняя-10 три оставшиеся. Если какой-то не нашли - конец.
2. Запоминаем в 4 переменных номер хода на каком появилась карта. Считаем ходы появления карт. При появлении общий счётчик ходов увеличиваем, определяем что за карта и обновляем счётчик этой карты. В результате на каждом ходе у нас есть 5 переменных общий счётчик и для каждой карты. Проверяем разницу каждой и общего, если больше 9 - конец.


Mihail

  • Освоившийся
  • **
  • Posts: 25
    • View Profile
Re: Действие если картинки небыло 10 раз
« Reply #4 on: December 19, 2018, 01:53:01 PM »
Можете с кодом помочь?

Mihail

  • Освоившийся
  • **
  • Posts: 25
    • View Profile
Re: Действие если картинки небыло 10 раз
« Reply #5 on: December 19, 2018, 01:57:11 PM »
Ето не карти а буквы их 4ре.щас покажу скрин

Mihail

  • Освоившийся
  • **
  • Posts: 25
    • View Profile
Re: Действие если картинки небыло 10 раз
« Reply #6 on: December 19, 2018, 02:05:20 PM »
4 картинки буква ( К П Ч Б ) для каждой буквы свой клик
тоесть если десять раз небыло буквы "К"  то клик   LCLICK(1236,388)
буква "П"  клик    LCLICK(923,539)
буква "Ч" клик     LCLICK(1236,382)
буква "Б" клик      LCLICK(1257,179)

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Действие если картинки небыло 10 раз
« Reply #7 on: December 19, 2018, 02:35:02 PM »
Ето не карти а буквы их 4ре.щас покажу скрин
Это не скрин, а фото с экрана. Познавательно для общего представления, но не больше.
С кодом помочь, только при наличии скрина (не сжатого png или bmp).
Нужно с него брать цвета и размеры.

И ещё вопрос, скрипт всегда будет запускаться при пустом поле или его можно включать в любое время и он должен проанализировать конец таблицы?
« Last Edit: December 19, 2018, 02:50:13 PM by Vint »


Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Действие если картинки небыло 10 раз
« Reply #8 on: December 19, 2018, 02:57:52 PM »
А, ещё что делать если не было нескольких?
Утрированный пример

К П Ч Б Б Б Б Б Б Б Б Б Б


Mihail

  • Освоившийся
  • **
  • Posts: 25
    • View Profile
Re: Действие если картинки небыло 10 раз
« Reply #9 on: December 19, 2018, 03:23:29 PM »
вот так выглядит.да ето для ставок.нескольких небывает только одна из букв может непоявляться долго.и еще ето я для примера писал что двадцать рядов по 50 картинок.на самом деле нужно 10 рядов по 27 картинок в ряду

Mihail

  • Освоившийся
  • **
  • Posts: 25
    • View Profile
Re: Действие если картинки небыло 10 раз
« Reply #10 on: December 19, 2018, 06:02:36 PM »
Так мне надо минимум чтоб 10 раз было ето раз ,а во вторых ето я просто для примера наклацал чтоб скрин сделать.а если такое и будет то минимум десять раз две небывает

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Действие если картинки небыло 10 раз
« Reply #11 on: December 19, 2018, 06:06:35 PM »
Code: (clickermann) [Select]
//первое поле (прописываем свои координаты начала)
$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

Если будет несколько невыпадений, сработает по приоритету порядка следования "К,П,Ч,Б"
Так же будет срабатывать в самом начале, пока масти ещё не выпадали ни разу.
К примеру начало  ККБ   - сработает П (она не выпадала)
                               ККБП - сработает Ч


Mihail

  • Освоившийся
  • **
  • Posts: 25
    • View Profile
Re: Действие если картинки небыло 10 раз
« Reply #12 on: December 19, 2018, 06:07:24 PM »
И ето нескрипты заложенные,все дело в тосовке карт их тусуют по спецыальному методу.сначала есть закономерность игрок ведеться и ставит бах поменяли тосовку и ты слился.а если знать когда какая тосовка и играть на дистанцыях и немного то всегда в хорошем плюсе.у меня еуча прог которые вычисляют все тосовки.и стратегия рабочая.только нужно роботизировать процес ставок

Mihail

  • Освоившийся
  • **
  • Posts: 25
    • View Profile
Re: Действие если картинки небыло 10 раз
« Reply #13 on: December 19, 2018, 06:10:17 PM »
спасибо щас проверю

Mihail

  • Освоившийся
  • **
  • Posts: 25
    • View Profile
Re: Действие если картинки небыло 10 раз
« Reply #14 on: December 19, 2018, 07:19:16 PM »
Подскажите как высчитать правильно пиксели