интерфейс взаимодействия с приложением 8 000 р.
Требования
Интерфейс взаимодействия
Язык С# .NET 4.0 (студия 2012)
Программа должна запустить указанное в настройках приложение (ПО).
Сделать снимок клиентской части ПО.
Передать изображение в Блок Распознавания (БР), если изображение отличается от предыдущего (т.е. организовать нечто вроде кэша).
Полученные данные (объекты, созданные на базе классов, описывающих объекты) из БР передать в Блок Аналитики (БА).
Произвести действия с устройствами ввода (мышью и клавиатурой) согласно алгоритму, полученному от БА (от БА поставляется последовательность координат для мыши и последовательность нажатий с привязкой к координатам, для Клавиатуры последовательность нажатия кнопок со связями к мышиным действиям).
Ожидать изменения, по достижении которых повторить с этапа «Сделать снимок…».
Снимки делать каждые 4 секунды по умолчанию, интервал может быть задан через настройки.
Блок должен иметь некий кэш ранее обработанных входных объектов для предотвращения повторных вычислений и ненужных действий конечным автоматом.
Поступающие от БА команды для мыши содержащие координаты действия должны быть интерпретированы следующим образом:
- рассчитать траекторию движения из начальной точки в конечную
- при перемещении по траектории учитывать множитель скорость и ускорение с учетом множителя указанного в настройках
- в траекторию вносится шум в виде случайных отклонений от прямой (частота шума и предел шумовых колебаний зависит от указанного в настройках)
- если пользователь изменил траекторию движения (шевельнул мышь), то в зависимости от указанного в настройках:
1. прекратить дальнейшее выполнение команд до следующего снимка
2. пересчитать траекторию движения и продолжить выполнение
- по достижении конечной точки совершить действие.
Настройки сохраняются и могут быть изменены через файл, программа должна реагировать на изменения в конфигурационном файле.
Пример алгоритмов действия для мыши и клавиатуры, полученные от БА:
I вариант команды от БА
() -> {
Mouse.move(fromX1,ToX2,FromY,ToY)
Mouse.LeftClick()
KeyBoard.Press(Char(“A”),Char(“S”),Char(F1))
Mouse.LeftDown()
Mouse.move(fromX3,ToX4,FromY,ToY)
Mouse.LeftUp()
}
II вариант команды от БА
() -> {
Mouse.LeftClick(fromX1,ToX2,FromY,ToY)
KeyBoard.Press(Char(“A”),Char(“S”),Char(F1))
Mouse.LeftDown()
Mouse.LeftUp(fromX3,ToX4,FromY,ToY)
}
Зарегистрируйтесь или войдите на сайт под своим именем.