Author Topic: Трудности в программировании.  (Read 1976 times)

0 Members and 1 Guest are viewing this topic.

Space

  • Зашел в гости
  • *
  • Posts: 16
    • View Profile
Трудности в программировании.
« on: March 16, 2019, 11:43:02 PM »
Здравствуйте всем! Заинтересовался Clickermann как отличным инструментом, но т.к. опыта пока нет и программным языком владею как "в темном лесу", читал - читал но в голове пока "каша", появились проблемы в реализации задумки.
Пока непонятно какие операторы и т.д. должны стоять и как они должны взаимодействовать не мешая друг другу. В мануале кликерманна маловато разжеванных для наглядности примеров. 
Алгоритм я составил, но как использовать и какие выбрать операторы и как правильно связать - тут затык)
Нужно искать два цвета
заданная область (1314,155, 1314,297)
кн. "YES" координаты (1275,734)
кн. "NO" координаты (1365,734)
искать цвет "A"(32768)
искать цвет "B"(16711680)

Спасибо тем, кто откликнется.

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Трудности в программировании.
« Reply #1 on: March 17, 2019, 09:19:34 AM »
Code: (clickermann) [Select]
GETSCREEN
$A = PXLCOUNT(1314,155, 1314,297, 32768)
$B = PXLCOUNT(1314,155, 1314,297, 16711680)

IF(($A > 0)&($B = 0))
   LCLICK(1275,734) // YES
   WAITMS(100)
   SOUND("Cricket.wav")
   WAIT(1)
   TFWRITE("Text.txt", STRCONCAT("YES - ", $_time_h,":",$_time_m,":",$_time_s," - ",$_date_y,".",$_date_m,".",$_date_d))
END_IF

IF(($B > 0)&($A = 0))
   LCLICK(1365,734) // NO
   WAITMS(100)
   SOUND("Duck.wav")
   WAIT(1)
   TFWRITE("Text.txt", STRCONCAT("NO - ", $_time_h,":",$_time_m,":",$_time_s," - ",$_date_y,".",$_date_m,".",$_date_d))
END_IF

WAITMS(500)

Space

  • Зашел в гости
  • *
  • Posts: 16
    • View Profile
Re: Трудности в программировании.
« Reply #2 on: March 17, 2019, 10:40:39 AM »
Оо! Большое СПАСИБО!!! Я уже начал городить целую неработающую этажерку, а тут все так коротко и просто или все гениальное просто! :) Теперь попробую разобраться как все работает по отдельности и вместе, подписывая для себя комментарии. Это как первый детекторный приемник - сам долго собираешь и не работает, в итоге бросаешь это занятие. А при помощи опытного человека все настраивается и усиливается интерес к электроники.

Space

  • Зашел в гости
  • *
  • Posts: 16
    • View Profile
Re: Трудности в программировании.
« Reply #3 on: March 17, 2019, 07:42:07 PM »
Работает отлично, согласно алгоритму!!! При появившемся цвете жмет кнопку, воспроизводит звук и делает конспект. Еще раз СПАСИБО!
Но в алгоритме я не сделал подробного пояснения (сам виноват).
Сейчас, при появившемся цвете, (а цвет может задержаться на долго) он делает многократное включение блока Y, равно как и блока N, а нужно однократное включение. Например появился цвет А - однократно нажал кн."YES" только один раз проиграл звук и один раз записал текст.
Появился цвет А - 1 раз включил блок Y, появился цвет В - 1 раз включил блок N, снова появился цвет А и снова 1 раз включил блок Y и т.д.
Пробовал увеличить временную задержку в блоках но это приводит к нестабильной работе.

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Трудности в программировании.
« Reply #4 on: March 17, 2019, 09:48:29 PM »
Теперь срабатывать будет однократно при обнаружении цвета. Сброс происходит при исчезновении цвета.

Code: (clickermann) [Select]
GETSCREEN
$A = PXLCOUNT(1314,155, 1314,297, 32768)
$B = PXLCOUNT(1314,155, 1314,297, 16711680)

IF(($A = 0)&($Check_A = 1))
   $Check_A = 0
END_IF
IF(($B = 0)&($Check_B = 1))
   $Check_B = 0
END_IF

IF(($A > 0)&($B = 0)&($Check_A = 0))
   LCLICK(1275,734) // YES
   WAITMS(100)
   SOUND("Cricket.wav")
   WAIT(1)
   TFWRITE("Text.txt", STRCONCAT("YES - ", $_time_h,":",$_time_m,":",$_time_s," - ",$_date_y,".",$_date_m,".",$_date_d))
   $Check_A = 1
END_IF

IF(($B > 0)&($A = 0)&($Check_B = 0))
   LCLICK(1365,734) // NO
   WAITMS(100)
   SOUND("Duck.wav")
   WAIT(1)
   TFWRITE("Text.txt", STRCONCAT("NO - ", $_time_h,":",$_time_m,":",$_time_s," - ",$_date_y,".",$_date_m,".",$_date_d))
   $Check_B = 1
END_IF

WAITMS(500)

Space

  • Зашел в гости
  • *
  • Posts: 16
    • View Profile
Re: Трудности в программировании.
« Reply #5 on: March 17, 2019, 10:54:25 PM »
БЛАГОДАРЮ!!!