Начал писать скрипт для Воинов Спарты для завоевания Греции под работу в среде BlueStacks.
#name "main"
// TODO: рассчет координат в зависимости от
// разрешения окна программы для работы со
// всеми размерами окон BlueStacks
// Процедура поиска битмапа
sub(searchBitmap, $bitmap)
// Помещение текущего снимка экрана в буфер
// программы для работы всех графицеских
// функций и процедур
getscreen
// Битмап найден
if_picture_in(0, 0, $_xmax, $_ymax, $bitmap)
print("Найдено: ", $_return1, ",", $_return2)
// Клик ЛКМ
lclick($_return1, $_return2)
// Не найден
else
print("Не удалось найти")
end_if
waitms(3000)
end_sub
$windowname = "BlueStacks App Player"
$hwnd = wndfind($windowname)
// Окно удалось найти
if($hwnd > 0)
// Получаем информацию об окне
wndgetinfo($hwnd, $x, $y, $size_x, $size_y)
// Привязываем окно и работаем теперь только с ним
hset($hwnd, 1)
// Ищем кнопку "Объявить войну"
searchBitmap("bitmaps/war.bmp")
else
print("Ошибка, BlueStacks не найден")
// Завершаем работу скрипта
halt
end_if
И столкнулся с несколькими вопросами
1) После того как я найду кнопку, каким образом заранее подготовленный сценарий можно запустить?
2) Когда этот сценарий закончится, каким образом можно вернуть на точку начала?
3) Стоит ли разделять это на потоки, и поток поиска уводить в слип пока выполняется основной сценарий?
P.S. Вам будет наверно сложно будет визуально все это представить, если вы не играли в данную игру. Попробую импровизировать.
Как только основой цикл программы, который каждую секунду проверяет появление кнопки объявить войну, запускается заранее записанный сценарий, который подготавливает необходимую армию, и делает разгром, и атаку, после чего первый раунд заканчивается, скрипт уходит в слип минут на 10, а после чего запускается все по новой. Интересует как лучше организовать это все и ответы на вопросы. Заранее буду очень благодарен любой помощи или советам. А если был бы какой-то простенький пример, вообще было бы шикарно)