Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Помощь с ботом Audition 2

Страниц (19): В начало « ... 7 8 9 10 [11] 12 13 14 15 ... » В конец
 

101. Limbaugh - 07 Мая, 2019 - 06:59:20 - перейти к сообщению
 Zireael пишет:
 Цитата:
Если шарик в 10 пикселях от полоски, то должно выводить ++++, иначе ----.

Так должно быть. Т. е. ++++ только когда шарик около полоски.


Да, но странно как то получается, нужно тестить уже полноценный, что дальше?
102. Zireael - 07 Мая, 2019 - 07:02:12 - перейти к сообщению
 Цитата:
но странно как то получается

Что странного? Сначала надо это сделать чтобы работало как надо, без ложных срабатываний.
103. Limbaugh - 07 Мая, 2019 - 07:05:24 - перейти к сообщению
 Zireael пишет:
 Цитата:
но странно как то получается

Что странного? Сначала надо это сделать чтобы работало как надо, без ложных срабатываний.


Ну он плюсы пишет не только возле полоски, то есть не нашел, то - постоянно, если нашел, то + так и будет , пока снова не дойдет до полоски и не проверит , вроде так
(Добавление)
Так же пришлось ставить больше разбежность, уже на полоску 160 на шар 130 и как то плохо ищет, 2 минуты плюсы , потом минус стал и плюс редко очень появляется
104. Zireael - 07 Мая, 2019 - 07:13:03 - перейти к сообщению
Тестите отдельно и подбирайте параметры поиска.
Чтобы шарик находился всегда, если он есть на экране.
Полоска должна находится всегда, если она есть на экране и не перекрыта шариком.
Когда это будет, тогда можно и дальше что-то делать.
 Цитата:
Так же пришлось ставить больше разбежность, уже на полоску 160 на шар 130

Это слишком много, сделайте другие картинки.
105. Limbaugh - 07 Мая, 2019 - 07:16:43 - перейти к сообщению
 Zireael пишет:
Тестите отдельно и подбирайте параметры поиска.
Чтобы шарик находился всегда, если он есть на экране.
Полоска должна находится всегда, если она есть на экране и не перекрыта шариком.
Когда это будет, тогда можно и дальше что-то делать.
 Цитата:
Так же пришлось ставить больше разбежность, уже на полоску 160 на шар 130

Это слишком много, сделайте другие картинки.


Это скорей всего из за полоски, поскольку у неё картинка динамичная, Я как то случайно сделал скрин и полоска на скрине вообще исчезла, она у неё бока прыгают туда сюда, то есть сужается она и наоборот
106. Zireael - 07 Мая, 2019 - 07:22:44 - перейти к сообщению
 Цитата:
она у неё бока прыгают туда сюда, то есть сужается она и наоборот

Ну так и надо делать картинку середины полоски, а не краёв, которые мигают.
107. Limbaugh - 07 Мая, 2019 - 07:39:08 - перейти к сообщению
 Zireael пишет:
 Цитата:
она у неё бока прыгают туда сюда, то есть сужается она и наоборот

Ну так и надо делать картинку середины полоски, а не краёв, которые мигают.


Сделал вроде, плюс на полоске а на остальном минус и так каждый раз, пока все работает Радость
(Добавление)
Хотя одно но, + ставится тогда, когда шарик выехал за полоску уже , а не перед ней
(Добавление)
Вот что получилось

Code (Отобразить)
108. Limbaugh - 07 Мая, 2019 - 10:10:52 - перейти к сообщению
 Zireael пишет:
 Цитата:
она у неё бока прыгают туда сюда, то есть сужается она и наоборот

Ну так и надо делать картинку середины полоски, а не краёв, которые мигают.


Что дальше ?
109. Zireael - 07 Мая, 2019 - 23:40:23 - перейти к сообщению
 Цитата:
Сделал вроде

 Цитата:
loadimage (#Image_0[0][0], "C:\Users\Limbaugh\Desktop\Au2RLBOT\ball.bmp" ); // указать путь
loadimage (#Image_0[0][0], "C:\Users\Limbaugh\Desktop\Au2RLBOT\poloska.bmp" );

И картинки загружаются в один и тот же массив. Ещё тестите, только исправьте
 Цитата:
loadimage (#Image_1[0][0], "C:\Users\Limbaugh\Desktop\Au2RLBOT\poloska.bmp" );

 Цитата:
Хотя одно но, + ставится тогда, когда шарик выехал за полоску уже , а не перед ней

Это тоже можно проверять.
 Цитата:
Что дальше ?

Это в начало скрипта:
 Цитата:
int Image_0[23][21]; // массив для картинки шарика (исправить размеры массива на нужный)
loadimage (#Image_0[0][0], "C:\Users\Limbaugh\Desktop\Au2RLBOT\ball.bmp" ); // указать путь
int coord2[4]={953, 759, 1170, 784} // область поиска
int r1=40; // разбежность для шарика

int Image_1[1][23];
loadimage (#Image_1[0][0], "C:\Users\Limbaugh\Desktop\Au2RLBOT\poloska.bmp" );
int r2=40; // разбежность для полоски
int PosX1, PosX2, PosY;

Это в конец скрипта:
 Цитата:
function find_image(int timeout)
{
if(findimage(1, #Image_1[0][0], -1, #PosX2, #PosY, coord2[0], coord2[1], coord2[2], coord2[3], r2,r2,r2,r2,r2,r2,100,1, -1)) // поиск полоски
{
looptime(timeout) // ждём когда шарик дойдёт до полоски
{
if(findimage(1, #Image_0[0][0], -1, #PosX1, #PosY, coord2[0], coord2[1], coord2[2], coord2[3], r1,r1,r1,r1,r1,r1,100,1, -1)) // поиск шарика
{
if(PosX1+10>PosX2) // +10 подобрать нужное значение
{
textbkcolor(255, 65280); // можно убрать
textout(1, coord2[0]+PosX2, coord2[1]-15, "++++", 1); // можно убрать
// тут нажатие нужной клавиши когда шарик около полоски
break;
}
else // можно убрать
{ // можно убрать
textbkcolor(65280, 255); // можно убрать
textout(1, coord2[0]+PosX2, coord2[1]-15, "----", 1); // можно убрать
} // можно убрать
}
}
}
}

Перед этой строкой posX=coord[0]; добавить вызов функции, которая будет ждать когда шарик дойдет до полоски
CODE:
find_image(2000); // в скобках время, в течении которого ожидается когда шарик дойдёт до полоски
posX=coord[0];

Примерно так, код не проверял на работоспособность.
110. Limbaugh - 08 Мая, 2019 - 08:21:01 - перейти к сообщению
Он в общем то жмет, но не на ту оценку, что мне нужно и он почему то жмет как Я и говорил сзади за полоской , если ставить - if(PosX1+28>PosX2) вместо 10 , 28 , то он перед полоской жмет, но далеко от неё, все значения перепробовал, как уменьшить расстояния от шарика до полоски, слишком далеко жмет

Powered by ExBB FM 1.0 Final