Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Vlas

Pages: [1]
1
Общие вопросы / Re: относительно ARRSORT
« on: September 26, 2022, 10:56:01 PM »
ясно) теперь логика вернулась в мою голову) пока продолжу на "старой" версии ибо привычно)
надеялся одной командой обойтись, но уже сам отсортировал самописным циклом)))
спасибо за ответ  :D

2
вопрос: как отсортировать по полному значению?.
Функция INT. Принудительно возвращает число. Ваш массив воспринимается, как строки.
а делать то что? как мне int прикрутить к моему массиву?

INT
Функция. Возвращает целую часть числа без округления. Принудительно возвращает число.

не понимаю связь int и создаваемого массива, мне округления не нужны и массив в принципе не содержит дробных чисел. а в каком месте надо прогнать массив через int чтобы он стал целочисленным и не стал опять строчным? мне с ним еще работать как с числами...

3
Общие вопросы / Re: относительно ARRSORT
« on: September 25, 2022, 11:26:09 PM »
код из хелпа, только увеличил ряд до 25.
Вот:

// генерация массива
for($a=0, $a<25)
   $var[$a] = rnd(0,100)
   print($var[$a]);
end_cyc

// сортировка
arrsort($var)
print("sort:")

// вывод результата
for($a=0, $a<25)
   print($var[$a]);
end_cyc

halt




4
Общие вопросы / Re: относительно ARRSORT
« on: September 25, 2022, 08:54:25 PM »
собственно лог:

22:29:48 18
22:29:48 34
22:29:48 66
22:29:48 15
22:29:48 11
22:29:48 28
22:29:48 48
22:29:48 41
22:29:48 45
22:29:48 52
22:29:48 92
22:29:48 50
22:29:48 29
22:29:48 70
22:29:48 66
22:29:48 80
22:29:48 3
22:29:48 66
22:29:48 9
22:29:48 35
22:29:48 47
22:29:48 22
22:29:48 50
22:29:48 77
22:29:48 90
22:29:48 sort:
22:29:48 11
22:29:48 15
22:29:48 18
22:29:48 22
22:29:48 28
22:29:48 29
22:29:48 3
22:29:48 34
22:29:48 35
22:29:48 41
22:29:48 45
22:29:48 47
22:29:48 48
22:29:48 50
22:29:48 50
22:29:48 52
22:29:48 66
22:29:48 66
22:29:48 66
22:29:48 70
22:29:48 77
22:29:48 80
22:29:48 9
22:29:48 90
22:29:48 92

5
Общие вопросы / относительно ARRSORT
« on: September 25, 2022, 08:53:07 PM »
Здравствуйте, Гуру.
необходимо было отсортировать данные в массиве. получил не верный результат. сходил за хелпом и прогнал код оттуда, только изменил до 25 значений. в результате (см. вложение) получил не верный результат, похоже массив сортируется по знакоместу, а не по значению.
вопрос: как отсортировать по полному значению?

ППЦ: файл разрешённого размера не прикрепляется, пишет папка аплод переполнена.

6
ясно) еще раз спасибо)
я совсем не так как вы рассуждал))) я пытался проверить по очерёдно  два массива "фон" и "новый список" на совпадение с пикселем, но где-то запарился и получал кучу дублей. теперь немного допилив ваше, получаю по желанию и накопленный массив с множества скринов и разовый результат по скрину.
считал, что первое, что напишет для себя пользователь Clickermann это как раз грабер изображений...)))

отсюда еще вопрос. существует ли возможность работать в подобном ключе с видеорядом? погоняв в работе сперва свой вариант (ну очень долго) и ваш вариант (быстро, но...) столкнулся с тем, что для идеального результата все же не хватает. не получается снять все измерения с экрана игры, или цель пропадает быстро  или ее подбирают другие и цели уже нет))) понимая, что видео это слайдшоу из отдельных изображений, как возможно реализовать пособработку скринов с целью сбора тех же списков пикселей.

а какие есть варианты по надежному определению движущихся объектов? colormode не помогает совсем, т.к. начинается "подтяжка" упрощеных участков фона.

или "всё, дальше питон..."? )

7
Огромное спасибо)
Всё отлично работает 8) , но всё "чуток" не так как я себе представлял...)))
можно уточнить? не могу понять смысл-логику 38й строки, и зачем $d увеличивается на 100 и именно на 100? отсюда не понимаю, что происходит от 41 строки. 

8
Code: (clickermann) [Select]
[
// анализ участка экрана с составлением списка цветов по пиксельно
LOGSHOW(1,1570,770)
LOGCLEAR()
TFCLEAR("input.txt", 0)

PXLREPLACE(0,0, $_xmax,$_ymax, -1, 0)   // заливаем буфер черным


$a = 15                   // размах захвата

STRSEPARATE(" 7035985, 7760481, 7035985", ",", $arr_color_fon)    // создаем массив цветов фона
$size_arr_color_fon = ARRSIZE($arr_color_fon)
LOGWRITE("кол-воцветов фона  - ", $size_arr_color_fon )
//ARRPUSH ($arr_color_fon, 255)

//$x
//$y


LCLICK(310,447)  // 3801117
LCLICK(327,461)  // 0





$x1 = 310 //0 //475
$y1 = 447 //0 //560
$x2 = 327 //30 //574
$y2 = 461 //30 //681

$arr_color = 0
//$arr_color_prb = 0
//$arr_color_fon

$pxl_prb  = 0
$z =0
$n = 0

GETSCREEN
//COLORMODE(2)


WHILE($n < 1)
   
   
   
   FOR($y = $y1, $y <= $y2)
      LOGWRITE ("$y -", $y)    //

      FOR($x = $x1, $x <= $x2)
         LOGWRITE ("$x -", $x)
         
         inc ($z)
         
         $c = PXL ($x, $y)
         
         $d = 0
         $flag = 0
         
         FOR($d = 0, $d < $size_arr_color_fon)
            //LOGWRITE ("$c -", $c)    //цвет найденого пикселя
           
            IF($c = $arr_color_fon[$d])
               //LOGWRITE ("совпадение с фоном")
               $flag = 0
            else
               FOR($e = 0, $e < ARRSIZE($arr_color))
                 
                  IF($c = $arr_color[$e])
                     $flag = 0
                     //LOGWRITE ("совпадение с уже найденым")
                  ELSE
                     $flag = 1
                     
                  END_IF
               END_CYC
            END_IF
           
            IF($flag = 1)
               ARRPUSH ($arr_color, $c)
               LOGWRITE ("новый цвет - ", $c, " в списке -  ", ARRSIZE($arr_color))
            ELSE
               //LOGWRITE ("совпало")// Если не верно
            END_IF
           
         END_CYC
         
      END_CYC
   END_CYC
   
   LOGWRITE ("сквозное z = ", $z)
   $n = 1
   //UNDEFINE ($arr_color)
END_CYC

TFWRITEARR("input.txt", $arr_color)
LOGWRITE ("halt")
halt
]

9
Здравствуйте.
наверняка у кого-то уже существует писаный код для:

1. снятие скрина с области экрана.
берем пиксели по очереди и ...
2. сравнение с заранее созданным массивом цветов пикселей "фона" (выкинули при дубле)
3. сравнение с массивом только что найденных цветов (выкинули при дубле)
4.  вывод всех найденных цветов пикселей из области скрина списком с отсевом дублей

Цель получить список всех используемых цветов из скрина-примера для дальнейшего поиска объекта на экране.

я начинающий и даже казалось сделал все сам, но результаты поиска в итоговом файле все равно дублируются. не понимаю, где я зациклился, что у меня идут дубли.

Pages: [1]