Pull to refresh
156
0
Антон Самойлов @fader44

User

Send message
А если нету, ее можно добавить. =)
Мой старенький сименс часто не хотел отключаться, когда звонил. Поэтому в таких ситуациях я привык на бессознательном уровне вытаскивать аккум. =)
Тоже сначала хотел писать бота на C++ Qt, но не хотелось разбираться с WinAPI, поэтому выбрал AutoIT. Спасибо за статью!
PS Это уже 6-я статья про бота за последние 2 недели на хабре? Мне как заварившему эту кашу, хочется сказать «горшочек НЕ ВАРИ!»
Даже не ожидал, что моя статья вызовет аж 3 ответных статьи. =)
Спасибо, было любопытно почитать про альтернативный способ, будем пробовать.
Ну скажем так, для оптимизации часто разворачивают рекурсию в стек, а DFS со стеком (а не с рекурсией) наверное более правильный чем рекурсивный, просто во втором случае писать чуть меньше.
Ну была бы вместо стека очередь, и что?
А для реализации ее на массиве нужно хранить 2 указателя (head и tail), вместо одного у стека. Кроме того места в памяти больше занимает. =) Мелочи это все конечно, но к вопросу о «проще».
Добавил видео в топик.
Комментарий веткой выше.
Видео добавлено в топик.
Чуть выше отвечал на подобный вопрос.
К сожалению так сделать не получится (по факту большие комбинации возможны только когда сразу падают сверху), кроме того в игре могут произвольно меняться цвета некоторых уже упавших кубиков, да и за взрывы дают очень немало очков. С нынешней скоростью бота почти всегда половина поля пустует.
Ну ставить ничего не надо, запустится по даблклику, но видео сниму. На самом деле собирался сделать видео еще перед публикацией, но в 5 утра лениво стало.
На сколько я понял из краткого описания, для подобных задач AutoHotKey использует AutoIt старой версии. =)
Ну я думаю там стоит защита от таких умных. =)
А и так не из середины беру. =)
по координатам 20 4 (размер клетки 40 на 40)
Посмотрю на досуге, возможно следующую задачу на нем напишу, если будет материал, постараюсь оформить в статью.
Этот вопрос меня тоже интересовал, я сомневался что тут ему место. Но ничего лучше я не нашел, и поиск показал, что подобные посты лежат здесь.
Пробовал, работает хуже.
Со временем проблем нету, определение всех цветов занимает около 1/10 секунды, проблемы с неточностью определения…
Ну по порядку:
1 — начало или конец партии — не должно иметь значения для работы скрипта. Возможно начинает тупить из за снижения FPS. Насчет загораний рамки — ограничений не замечал, единственное ограничение которое приходится учитывать — на количество ошибок (или на процент ошибок, не знаю). Если часто ошибаться, то звук кликов становится монотонным, а рамка перестает загораться. Именно для того, чтобы этого не происходило добавлена задержка между кликами.
2 — алмазы вроде и сейчас неплохо определяются. У меня в конце минуты редко остается больше 1-2. Если у вас есть идея по эффективному выявлению алмазов при появлении — предлагайте, испробуем. =) Насчет того, чтобы кликать на них когда доска полупустая (а не когда только нашли)- пожалуй стоит попробовать, займусь этим.
3 — в начальных версиях скрипта были различные алгоритмы просчета на несколько ходов вперед. Но есть два фактора сводящие их эффективность на нет. Первый — спецэффекты и ошибки. ВТорой куда более важен. Если внимательно присмотреться к полю, то можно заметить, что довольно часто квадратики меняют свой цвет, чтобы составить новую область. Сделано это видимо для того, чтобы всегда было куда можно кликнуть. И такие смены, понятное дело, не дают нормально просчитать все.
Да и когда все взрывается мне кажется очков капает больше чем за большие комбинации с длинным просчетом.

Спасибо за замечания!
На самом деле это мой косяк. В последней версии путь до template.bmp остался абсолютным, хотя нужно было сделать просто «template.bmp». На гитхабе залил новую версию.

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity