помогите упростить код. Есть 23 картинок в папке когда находит одно из них то клик в определенной области для 11 из них координаты одинаковы и для другой 2 картинкам то свои координаты, а у остальных сама найденная картинка является областью клика все работает но код получился длинным
set $a findimage (0, 0 1366, 768 (image\1.bmp) %arr 2)
if $a > 90
kleft %arr [1 1] %arr [1 2]
end_if
set $b findimage (0, 0 1366, 768 (image\2.bmp) %arr 2)
if $b > 90
kleft %arr [1 1] %arr [1 2]
end_if
set $o findimage (0, 0 1366, 768 (image\3.bmp) %arr 2)
if $o > 90
kleft %arr [1 1] %arr [1 2]
end_if
set $p findimage (0, 0 1366, 768 (image\4.bmp) %arr 2)
if $p > 90
kleft %arr [1 1] %arr [1 2]
end_if
set $c findimage (0, 0 1366, 768 (image\5.bmp) %arr 2)
if $c > 90
kleft 106, 373
end_if
set $d findimage (0, 0 1366, 768 (image\6.bmp) %arr 2)
if $d > 90
kleft 106, 373
end_if
set $e findimage (0, 0 1366, 768 (image\7.bmp) %arr 2)
if $e > 90
kleft 106, 373
end_if
set $f findimage (0, 0 1366, 768 (image\8.bmp) %arr 2)
if $f > 90
kleft 106, 373
end_if
set $g findimage (0, 0 1366, 768 (image\9.bmp) %arr 2)
if $g > 90
kleft 106, 373
end_if
set $h findimage (0, 0 1366, 768 (image\10.bmp) %arr 2)
if $h > 90
kleft 106, 373
end_if
set $h findimage (0, 0 1366, 768 (image\11.bmp) %arr 2)
if $h > 90
kleft 276, 371
end_if
set $j findimage (0, 0 1366, 768 (image\12.bmp) %arr 2)
if $j > 90
kleft 98, 440
end_if
set $i findimage (0, 0 1366, 768 (image\13.bmp) %arr 2)
if $i > 90
kleft 106, 373
end_if
set $k findimage (0, 0 1366, 768 (image\14.bmp) %arr 2)
if $k > 90
kleft 276, 371
end_if
set $l findimage (0, 0 1366, 768 (image\15.bmp) %arr 2)
if $l > 90
kleft 106, 373
end_if
set $m findimage (0, 0 1366, 768 (image\16.bmp) %arr 2)
if $m > 90
kleft 106, 373
end_if
set $n findimage (0, 0 1366, 768 (image\17.bmp) %arr 2)
if $n > 90
kleft 106, 373
end_if
set $n findimage (0, 0 1366, 768 (image\18.bmp) %arr 2)
if $n > 90
kleft 106, 373
end_if
set $r findimage (0, 0 1366, 768 (image\19.bmp) %arr 2)
if $r > 90
kleft %arr [1 1] %arr [1 2]
end_if
set $s findimage (0, 0 1366, 768 (image\20.bmp) %arr 2)
if $s > 90
kleft %arr [1 1] %arr [1 2]
end_if
set $t findimage (0, 0 1366, 768 (image\21.bmp) %arr 2)
if $t > 90
kleft %arr [1 1] %arr [1 2]
end_if
set $u findimage (0, 0 1366, 768 (image\22.bmp) %arr 2)
if $u > 90
kleft %arr [1 1] %arr [1 2]
end_if
set $y findimage (0, 0 1366, 768 (image\23.bmp) %arr 2)
if $y > 90
kleft %arr [1 1] %arr [1 2]
end_if
Можно сделать широким, а не длинным, но какой в этом смысл ?
Переименовывайте картинки так чтобы:
С 1 по 11 - это те картинки, при нахождении которых, нужен клик в координаты 106, 373
С 12 по 20 - это те картинки, при нахождении которых, нужен клик по координатам картинки
21 и 22 - это те картинки, при нахождении которых, нужен клик в координаты 276, 371
23 - картинка, при нахождении которой, нужен клик в координаты 98, 440
set %bmp [1] ".bmp"
for #i 1 23 // цикл на поиск 23 картинок
set #a findimage (0, 0 1366, 768 (image\#i%bmp [1]) %arr 2)
if #a > 0 // если картинка найдена
if #i >= 1 and #i <= 11 // если найдена картинка с 1 по 11
kleft 106, 373
end_if
if #i >= 12 and #i <= 20 // если найдена картинка с 12 по 20
kleft %arr [1 1] %arr [1 2]
end_if
if #i = 21 or #i = 22 // если найдена картинка 21 или 22
kleft 276, 371
end_if
if #i = 23 // если найдена картинка 23
kleft 98, 440
end_if
end_if
end_for
end_script
set %bmp [1] ".bmp"
for #i 1 23 // цикл на поиск 23 картинок
set #a findimage (0, 0 1366, 768 (image\#i%bmp [1]) %arr 2)
if #a > 0 // если картинка найдена
if #i >= 1 and #i <= 11 // если найдена картинка с 1 по 11
kleft 106, 373
end_if
if #i >= 12 and #i <= 20 // если найдена картинка с 12 по 20
kleft %arr [1 1] %arr [1 2]
end_if
if #i = 21 or #i = 22 // если найдена картинка 21 или 22
kleft 276, 371
end_if
if #i = 23 // если найдена картинка 23
kleft 98, 440
end_if
end_if
end_for
end_script
Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)