Author Topic: Клик рандомно в нужной области  (Read 9129 times)

0 Members and 2 Guests are viewing this topic.

Синичка

  • Освоившийся
  • **
  • Posts: 29
    • View Profile
Клик рандомно в нужной области
« on: August 01, 2014, 03:38:29 PM »
Здравствуйте. Как сделать, чтобы LCLICK производился не в определенную точку, а в любую точку в заданной области, каждый раз в цикле рандомно?

Синичка

  • Освоившийся
  • **
  • Posts: 29
    • View Profile
Re: Клик рандомно в нужной области
« Reply #1 on: August 01, 2014, 03:51:37 PM »
Еще вопрос, можно ли теоретически сделать так в цикле:
(если можно, то я сама сделаю, просто знать бы подтверждение, что не зря буду мучиться))

Code: [Select]
//Проверить через скрин и поиск картинок 1 и 2

//нашел 1
   Сделать действие 1.1

   //Поиск 2
   //Нашел 2
      Сделать действие 2.1
      Сделать действие 2.2

   //Не нашел 2
      Сделать действие 2.2

//Не нашел 1
   //Поиск 2
   //Нашел 2
      Сделать действие 2.1
      Сделать действие 2.2

   //Не нашел 2
      Сделать действие 2.2

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Клик рандомно в нужной области
« Reply #2 on: August 01, 2014, 04:00:38 PM »
Можно. Только зачем по 2 раза, если поиск 2 можно выполнить после
//нашел 1
   Сделать действие 1.1

//Поиск 2
//Нашел 2
      Сделать действие 2.1
      Сделать действие 2.2

//Не нашел 2
      Сделать действие 2.2


Синичка

  • Освоившийся
  • **
  • Posts: 29
    • View Profile
Re: Клик рандомно в нужной области
« Reply #3 on: August 01, 2014, 04:12:05 PM »
Ну в общем-то да, вы правы. Если действия в обоих случаях все равно одинаковые. В этом спасибо.
А как насчет клика по области (первый вопрос)? Возможно ли такое сделать? Если да, то с помощью чего.

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Клик рандомно в нужной области
« Reply #4 on: August 01, 2014, 04:18:00 PM »
Область кликов
X     Y
717,388 - верхний левый угол
824,447 - нижний правый

LCLICK(RND(717,824),RND(388,447))

Синичка

  • Освоившийся
  • **
  • Posts: 29
    • View Profile
Re: Клик рандомно в нужной области
« Reply #5 on: August 01, 2014, 04:22:20 PM »
Спасибо) очень помогли, благодарю)

Синичка

  • Освоившийся
  • **
  • Posts: 29
    • View Profile
Re: Клик рандомно в нужной области
« Reply #6 on: August 01, 2014, 04:31:01 PM »
Получилось примерно так, чтобы не повторять действия:
Будет ли верным?

Code: [Select]
FOR ($i, $i<200)   

WAITMS(1000)

getscreen
if_picture_in(100,100,500,500, 1.bmp)
   //Совпало
   //вызов подпрограммы
   1.1() 
else
   // не совпало
end_if

getscreen
if_picture_in(500,500,1000,1000, 2.bmp)
   //Совпало
   // вызов подпрограммы
   2.1() 
else
   // не совпало
end_if

//вызов подпрограммы
2.2() 

WAITMS(5000)

END_CYC

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Клик рандомно в нужной области
« Reply #7 on: August 01, 2014, 05:00:12 PM »
Названия файлов нужно писать в кавычках
Code: (clickermann) [Select]
if_picture_in(100,100,500,500, "1.bmp")
Других ошибок нет

Синичка

  • Освоившийся
  • **
  • Posts: 29
    • View Profile
Re: Клик рандомно в нужной области
« Reply #8 on: August 01, 2014, 05:10:32 PM »
Ам.. там нужны всегда кавычки?
Просто у меня там всегда словом написано, цифры я для примера поставила. И нигде кавычек не ставила никогда, всё работает. Или кавычки нужны там только если цифра есть в названии картинки?

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Клик рандомно в нужной области
« Reply #9 on: August 01, 2014, 07:11:01 PM »
Кавычки нужны всегда если дело имеем со строкой. Интерпретатор все равно попытается понять что ты ему передаешь но с кавычками эту будет правильно и быстро.



Синичка

  • Освоившийся
  • **
  • Posts: 29
    • View Profile
Re: Клик рандомно в нужной области
« Reply #10 on: August 01, 2014, 07:25:04 PM »
Хорошо, проставлю везде кавычки. Всё равно весь код теперь переделывать надо, на более доработанный. )

Вопрос: можно ли в имени подпрограммы использовать цифры? Просто они при написании как-то подсвечиваются в коде, я побоялась их писать, использую слова, но вдруг я зря кипишую и можно использовать, и насчет пробелов тоже мне непонятно, например, можно ли так: sub(Запись 225), а не писать так: sub(Запись-двести-двадцать-пять)?

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Клик рандомно в нужной области
« Reply #11 on: August 01, 2014, 08:11:11 PM »
Да можно и цифры и пробелы. Стоит смотреть синтаксис в справке, единственное квадратные скобки [] нигде не пишутся, ими в справке помечены необязательные параметры которые можно не писать.

Code: (clickermann) [Select]
SUB(Моя программа 225, $a1, $a2)
   LOGWRITE ("Выполнено: ", $a1, " ", $a2)
END_SUB

Моя программа 225(100,200)
LOGWRITE ("После: ", $a1, " ", $a2)
HALT
« Last Edit: August 01, 2014, 08:18:09 PM by Oraven »

Синичка

  • Освоившийся
  • **
  • Posts: 29
    • View Profile
Re: Клик рандомно в нужной области
« Reply #12 on: August 01, 2014, 09:28:56 PM »
Через поиск почему то не нашло совпадений и в справке тоже не нашла про правый клик, можно ли так
Будет ли работать:
Code: [Select]
RCLICK(RND(100,500),RND(100,500))

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Клик рандомно в нужной области
« Reply #13 on: August 01, 2014, 10:14:28 PM »
Ну конечно будет!
RND(100,500) - выдает случайное число между 100-500
В клике используется два рандома для X и Y