Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> бот упростить код, сделал бота но код получился очень длинным как упростить
jarvis
сообщение 16.8.2017, 18:42
Сообщение #1


*

Registred
Сообщений: 2
Регистрация: 16.8.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.576



помогите упростить код. Есть 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
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Cockney
сообщение 16.8.2017, 22:12
Сообщение #2


********

Master
Сообщений: 1.394
Регистрация: 22.6.2013
Группа: Пользователи
Наличность: 20893
Пользователь №: 16.156



Можно сделать широким, а не длинным, но какой в этом смысл ?
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 17.8.2017, 2:32
Сообщение #3


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26540
Пользователь №: 16.971
Возраст: 29



Переименовывайте картинки так чтобы:
С 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
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
jarvis
сообщение 17.8.2017, 8:39
Сообщение #4


*

Registred
Сообщений: 2
Регистрация: 16.8.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.576



Цитата(cirus @ 17.8.2017, 2:32) *

Переименовывайте картинки так чтобы:
С 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


Спасибо !!!! Круто!!!
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 29.3.2024, 0:18
Designed by Nickostyle