Автор Тема: Требуется помощь.  (Прочитано 173 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Optibater

  • Освоившийся
  • **
  • Сообщений: 22
    • Просмотр профиля
Требуется помощь.
« : Август 11, 2019, 11:26:10 pm »
 Доброго времени суток.
Нужна помощь в составлении карты для кликера, по которой он бы водил в браузерной игрушке персонажа.
Задача такая, что бы сканировал область, которую я выделил красным квадратом и на определенной клетке поворачивал куда следует.
Управление клавишами A-лево\D-право\W-вперед\S-назад ну и так далее.

 Вот так у меня сейчас это построено:
GETSCREEN
IF_PICTURE_IN (1413,238, 1599,597, "11.bmp", -1, 100)
   KEYPRESS(#w)
   WAITMS(RND(1000,2000))
END_IF

GETSCREEN
IF_PICTURE_IN (1413,238, 1599,597, "12.bmp", -1, 100)
   KEYPRESS(#W)
   WAITMS(RND(1000,2000))
END_IF

GETSCREEN
IF_PICTURE_IN (1413,238, 1599,597, "13.bmp", -1, 100)
   KEYPRESS(#e)
   WAITMS(RND(1000,2000))
END_IF

GETSCREEN
IF_PICTURE_IN (1413,238, 1599,597, "14.bmp", -1, 100)
   KEYPRESS(#w)
   WAITMS(RND(1000,2000))
END_IF

 И в таком виде 600 картинок сканирует. Долго все это...

 Мне подсказали что есть некий ХЕШ, и он мне поможет ускорить работу сценария.
На форуме поискал, нашел темку как сканировать http://crapware.aidf.org/forum/index.php?topic=2855.msg18825#msg18825.
Ну а как это применить я так и не понял.

 Может подскажите мне где посмотреть, или каких нибудь вариантов подкинете...
« Последнее редактирование: Сентябрь 02, 2019, 11:29:01 am от Optibater »

Optibater

  • Освоившийся
  • **
  • Сообщений: 22
    • Просмотр профиля
Re: Требуется помощь.
« Ответ #1 : Август 14, 2019, 01:40:40 pm »
   GETSCREEN
   $hash = PXLCRC(1405,222, 1596,413)
   IF($hash ! 3306682166)
   print("Hello, world!")
      KEYPRESS(#w)
      WAITMS(RND(1000,1100))
   END_IF
   
   GETSCREEN
   $hash = PXLCRC(1405,222, 1596,413)
   IF($hash ! 3362386532)
      KEYPRESS(#w)
      WAITMS(RND(1000,1100))
   END_IF
   
   GETSCREEN
   $hash = PXLCRC(1405,222, 1596,413)
   IF($hash ! 489148931)
      KEYPRESS(#e)
      WAITMS(RND(1000,1100))
   END_IF

Попробовал так, тыкает по клаве даже там где не надо.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 3322
  • Лечу куда хочу. cman 4.13.014x32, W10, W7
    • Просмотр профиля
Re: Требуется помощь.
« Ответ #2 : Август 14, 2019, 02:44:02 pm »
Ты хоть напиши что тебе точно нужно. Потому как в твоём коде нет никакой "карты для кликера". И тем более её составления.

Задача такая, что бы сканировал область, которую я выделил красным квадратом и на определенной клетке поворачивал куда следует.
И куда следует?  :)


Понятно, что тебе нужно куда-то двигаться ориентируясь по миникарте. Но это в общих чертах.
Как ты определяешь своё положение на миникарте? Из скринов я понял что наше положение не всегда в центре. И стрелка бывает: зелёная, красная, зелёная закрашенная, красная-значком...
Тупо проверять клетки с 4 сторон и по условию идти туда где свободно, так себе затея. Как бороться с блужданием по кругу?


Попробовал так, тыкает по клаве даже там где не надо.
Как написал, так и тыкает. Если хеш не равен -тыкаем.
Во первых хеш здесь не применим, здесь разные текстуры в клетках, возможно рандомные. Да даже если и постоянные, они разные. Нужно считать количество основного цвета в COLORMODE(7) можно и 8, но лучше 7.
« Последнее редактирование: Август 14, 2019, 02:50:21 pm от Vint »


Optibater

  • Освоившийся
  • **
  • Сообщений: 22
    • Просмотр профиля
Re: Требуется помощь.
« Ответ #3 : Август 14, 2019, 04:24:22 pm »
У меня в голове уже есть маршрут. Я по нему иду и скриню область выделенную красным, задаю ему на каждой клетке поворот в ту или иную сторону. Стрелка всегда по центру и цвет не меняется. Перемещается только сама карта.

Значит мне попробовать воспользоваться параметром COLORMODE? и будет намного быстрее обрабатывать чем картинки, которых около 600 шт.?