Если вы не против, давайте сделаем перекур. А то, от переваривания столько инфы, я уже даже начинаю забывать как меня зовут. Я за 8 лет в школе так долго на уроке не сидел)
ета. и картинку, если можно. Чтобы прогнал на ней, а не только на строчки медитировал.
скрипт
Код
set #startOffsetX 260 set #startOffsetY 145 // Шаг сетки изображений. // С точностью до пикселя. set #cellOffsetX 41 set #cellOffsetY 41 // Изображения шариков set %image [ 1 ] 476925 set %image [ 2 ] 453298 set %image [ 3 ] 134586 set %image [ 4 ] 746852 set %image [ 5 ] 643258 set #countImage size (%image)
for #i 1 #countImage // Имидж или колор сам выбирай. // set $a findimage ... %image [ #i ] %arr ... set $a findcolor ( 100, 100 500, 500 1 1 (%image[ #i ]) %arr 2 ) log $a финд колор for #n 1 $a 1 set #fieldX ( %arr [ #n 1 ] - #startOffsetX ) / #cellOffsetX + 1 set #fieldY ( %arr [ #n 2 ] - #startOffsetY ) / #cellOffsetY + 1 log #fieldX #fieldY set %field [ #fieldY #fieldX ] #i end_for end_for /////////////////////////////////// for #xField 1 6 1 // Я хз какого размера у тебя поле. Предположим 10 на 10. for #yField 1 6 1 log текущая ячейка #xField #yField . Значение ячейки %field [ #xField #yField ] if #xField < 2 set #xStart 1 else set #xStart #xField - 1 end_if if #xField > 5 set #xEnd 6 else set #xEnd #xField + 1 end_if if #yField < 2 set #yStart 1 else set #yStart #yField - 1 end_if if #yField > 5 set #yEnd 6 else set #yEnd #yField + 1 end_if
for #x #xStart #xEnd 1 for #y #yStart #yEnd 1 if %field [ #x #y ] = %field [ #xField #yField ] and #x != #xField and #y != #yField log обнаружена пара в ячейках #x #y и #xField #yField end_if end_for end_for end_for end_for