Добрый вечер.
Последовал вашему совету. Очень здоровская штука. Только вот у меня тут проблемы возникли. (IMG:
style_emoticons/default/sad.gif)
Совственно сам скрипт, с подстанвкой моих данных:
№1
Код
// Сценарий поиска изображений в заданной области
// Запрос координат от пользователя
set $path C:\images\ (Укажите путь к файлам картинок)
set #startX 14
set #startY 1
set #endX 245
set #endY 103
set $bmp .bmp
set #s 1
for #step 0 9
// Поиск изображений
set $check findimage ($startX $startY $endX $endY (C:\images\#step$bmp) %crds 2 88 -1)
// Проверка на наличие
if $check > 0
set #size size (%crds)
for #i 1 #size
// Запись в массив %m[#s 1] числа, %m[#s 2]координаты
set %m[#s 2] #step
set %m[#s 1] %crds[#i 1]
set #s #s + 1
end_for
end_if
end_for
// Присваиваем переменной размер массива
set #n size (%m)
hint Отдельное спасибо Zeleax за код сортировки массива
// Сортируем массив
for #i 1 #n
set #min %m[#i 1]
set #imin #i
set #ii #i + 1
for #j #ii #n
if %m[#j 1] < #min
set #min %m[#j 1]
set #imin #j
end_if
end_for
// меняем местами минимальный элемент с текущим, используя промежуточную #z
set #z %m[#i 1]
set %m[#i 1] %m[#imin 1]
set %m[#imin 1] #z
set #z %m[#i 2]
set %m[#i 2] %m[#imin 2]
set %m[#imin 2] #z
end_for
// Соберем все элементы в одну текстовую строку
set $s // пустая строка
for #i 1 #n
set $s $s%m[#i 2] //(X= %m[#i 1]) // добавляем каждый элемент в конец строки
end_for
msg Ваше число: $s
end_script
Месадж следующий:
(IMG:
http://cs315919.userapi.com/v315919099/6289/56p--tlYloY.jpg)
Долго бился, много всего перечитал, но результата ноль...
Тогда решил маленько поэксперементировать. В итоге получилось следующее:
№2
Код
set #startX 14
set #startY 1
set #endX 245
set #endY 103
set $path C:\images\
set %cash[1] 2
set $a findimage (#startX #startY #endX #endY ($path%cash[1].bmp) %crds 2 50)
if $a > 0
msg Изображение найдено в координатах X= %crds[1 1] Y= %crds[1 2].
else
msg Изображение не найдено
end_if
end_script
Ответ следующий
(IMG:
http://cs315919.userapi.com/v315919099/6290/4QGPQayb9FQ.jpg)
В общем, дальше было много проб и ошибок. В конце концов пришел к следующему результату:
№3
Код
// Сценарий поиска изображений в заданной области
// Запрос координат от пользователя
set #startX 14
set #startY 1
set #endX 245
set #endY 103
set $path C:\images\
set %cash[1] 4
set #s 1
for #step 0 9
// Поиск изображений
set $check findimage (#startX #startY #endX #endY ($path%cash[1].bmp) %crds 2 88 -1)
if $check > 0
msg Изображение найдено в координатах X= %crds[1 1] Y= %crds[1 2].
else
msg Изображение не найдено
end_if
// Проверка на наличие
if $check > 0
set #size size (%crds)
for #i 1 #size
// Запись в массив %m[#s 1] числа, %m[#s 2]координаты
set %m[#s 2] #step
set %m[#s 1] %crds[#i 1]
set #s #s + 1
end_for
end_if
end_for
// Присваиваем переменной размер массива
set #n size (%m)
hint Отдельное спасибо Zeleax за код сортировки массива
// Сортируем массив
for #i 1 #n
set #min %m[#i 1]
set #imin #i
set #ii #i + 1
for #j #ii #n
if %m[#j 1] < #min
set #min %m[#j 1]
set #imin #j
end_if
end_for
// меняем местами минимальный элемент с текущим, используя промежуточную #z
set #z %m[#i 1]
set %m[#i 1] %m[#imin 1]
set %m[#imin 1] #z
set #z %m[#i 2]
set %m[#i 2] %m[#imin 2]
set %m[#imin 2] #z
end_for
// Соберем все элементы в одну текстовую строку
set $s // пустая строка
for #i 1 #n
set $s $s%m[#i 2] //(X= %m[#i 1]) // добавляем каждый элемент в конец строки
end_for
msg Ваше число: $s
end_script
msg#1(9 раз) (IMG:
style_emoticons/default/smile.gif)
(IMG:
http://cs315919.userapi.com/v315919099/6297/diYydj7wo_8.jpg)
msg#2
(IMG:
http://cs315919.userapi.com/v315919099/629e/a8Cy-ZBUAbE.jpg)
Если
Код
Поменять на
Код
То соответственно повторяется только 2 раза, сообщений о найденом изображении тоже два, а число находит 01.
Эксперементировал только с двумя числами: 2 и 4, результат одинаковый во всех четырех случаях.
Также эксперементировал с точностью поиска и погрешностью оттенка - безрезультатно.
Вот такая вот фигня у меня выходит. (IMG:
style_emoticons/default/sad.gif)
Подскожите пожалуйста, где я накосячил.))
Обе цифры прилагаются.
2.bmp ( 390 байт )
Кол-во скачиваний: 427
4.bmp ( 390 байт )
Кол-во скачиваний: 394PS Версия пилота 2.32