Я не так давно делал по заданию, только там ещё и радиус ограничен и изометрия (по вертикали 0,75)
Ну типа этого
$mob = "Моб" // пример имён картинок Моб1_1
$mob_n = 2 // количество мобов
$count = 10 // число действий
$log = 1 // вывод лога 1- да, 0- нет
$mobcorX = 0 // коррекция X найденного моба
$mobcorY = 0 // коррекция Y найденного моба
LOGCLEAR
// ищем себя
GETSCREEN
COLORMODE(7)
IF_PICTURE_IN (0,0,$_xmax,$_ymax, "str.bmp", 65280, 90)
$ggX = $_return1 +3 //+ 4
$ggY = $_return2 //+ 64
$vX1 = $ggX - 350
$vY1 = $ggY - 200
$vX2 = $ggX + 350
$vY2 = $ggY + 200
IF($vX1 < 0)
$vX1 = 0
END_IF
IF($vY1 < 0)
$vX1 = 0
END_IF
IF($vX2 > $_xmax)
$vX2 = $_xmax
END_IF
IF($vY2 > $_ymax)
$vX2 = $_ymax
END_IF
IF($log = 1)
LOGWRITE ("Нашли себя ", $ggX, " / ", $ggY)
END_IF
ELSE
LOGWRITE ("НЕ нашли себя! СТОП")
HALT
END_IF
GETSCREEN($vX1,$vY1,$vX2,$vY2)
COLORMODE(6,$vX1,$vY1,$vX2,$vY2)
$len = 0
FOR($n=1, $n < $mob_n+1)
FOR($i=1, $i < 7)
SCANPICTURE($arr, $vX1,$vY1,$vX2,$vY2, STRCONCAT($mob, $n, "_", $i, ".bmp"), -1, 90)
//IF($log = 1)
//LOGWRITE ("Ищем ", STRCONCAT($mob, $n, "_", $i, ".bmp"))
//END_IF
IF($len ! ARRSIZE($arr))
IF($log = 1)
LOGWRITE ("Найдено ", STRCONCAT($mob, $n, "_", $i, ".bmp ", (ARRSIZE($arr)-$len)/2, " шт."))
END_IF
$len = ARRSIZE($arr)
END_IF
END_CYC
END_CYC
FOR($i=0, $i < (ARRSIZE($arr)/2))
$mobX = $arr[$i*2] + $mobcorX
$mobY = $arr[$i*2+1] + $mobcorY
$mobYiz = INT(($mobY - $ggY)*1.75 + $ggY)
$dist[$i] = DIST($ggX,$ggY,$mobX,$mobYiz)
LOGWRITE("dist[", $i, "] = ", $dist[$i])
END_CYC
$num = 0
LOGWRITE(" ")
WHILE(($num*2 < ARRSIZE($arr)) & ($num < $count))
$min = $dist[$num]
$ind = $num
FOR($i=($num+1), $i < ARRSIZE($dist))
IF($dist[$i] < $min)
$min = $dist[$i]
$ind = $i
END_IF
END_CYC
LOGWRITE($num, " минимум: ", $min, " [", $ind, "]")
// меняем мистами минимальную дистанцию и текущую
$dtemp = $dist[$ind]
$dist[$ind] = $dist[$num]
$dist[$num] = $dtemp
// меняем мистами коры с мин. дистанцией и текущие
$X = $arr[$ind*2]
$Y = $arr[$ind*2+1]
$arr[$ind*2] = $arr[$num*2]
$arr[$ind*2+1] = $arr[$num*2+1]
$arr[$num*2] = $X
$arr[$num*2+1] = $Y
IF($log = 1)
LOGWRITE($X, " / ", $Y)
MOVE($X, $Y)
//WAITMS(900)
END_IF
//LCLICK($X, $Y) // Клик
LDOWN($X, $Y)
WAITMS(70)
LUP($X, $Y)
WAITMS(100)
INC($num)
END_CYC
KEYPRESS(#a)
KEYPRESS(#r)
UNDEFINE($arr)
UNDEFINE($dist)
HALT