Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/48: Рейтинг темы: голосов - 48, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 26.10.2018
Сообщений: 23

Поиск и чтение текста в игре

26.10.2018, 23:49. Показов 9304. Ответов 5

Студворк — интернет-сервис помощи студентам
Подскажите, в какую сторону копать:
По сути бот-автокликер (уже готов - ходит по координатам), но нужно заставить его реагировать на определенный текст - изначально заданные названия.
Тест расположен в двух местах. Точные координаты известны, сам текст так же известен.
И еще хочу заставить его реагировать на определенный цвет в конкретном месте экрана.

Либо, заставить бота реагировать на определенное изображение в указанной области (к каждой строке текста подставлено изображение-иконка)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.10.2018, 23:49
Ответы с готовыми решениями:

Чтение файла, поиск текста
Доброго времени суток! Есть большой лог 4-5к строк Первые 10символов почти в каждой строчке (yyyy-mm-dd), в некоторых строчках есть...

Чтение в фиксированный буфер текста (поиск паттерна)
Не могу сделать такое задание : Вариант 1. Программа ожидает ввода пользователем строки, затем выводит на экран индексы всех вхождений...

Чтение изображений с++ (чтение текста, ввод с мыши)
Собственно нужен алгоритм для игры "слово за слово" , распознающий буквы на экране, запоминающий их расположение(х,у по пикселям),...

5
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
27.10.2018, 07:46
Лучший ответ Сообщение было отмечено nik2004brn как решение

Решение

Искать лучше по иконке, в pyautogui есть функция поиска по изображению, делаете скриншот, аккуратно вырезаете иконки и сохраняете в png, затем

Python
1
2
3
4
import pyautogui
start = pyautogui.locateCenterOnScreen('start.png')
print(start)
pyautogui.moveTo(start)
1
0 / 0 / 0
Регистрация: 26.10.2018
Сообщений: 23
29.10.2018, 18:38  [ТС]
А как можно составить список, если одинаковых объектов несколько?
И как потом им оперировать, если координаты изначально неизвестны?
И можно ли ограничить район поиска определенными координатами?
0
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
29.10.2018, 18:56
Лучший ответ Сообщение было отмечено nik2004brn как решение

Решение

Цитата Сообщение от nik2004brn Посмотреть сообщение
А как можно составить список, если одинаковых объектов несколько?
locateAllOnScreen и читайте справку https://pyautogui.readthedocs.... nshot.html
1
0 / 0 / 0
Регистрация: 26.10.2018
Сообщений: 23
29.10.2018, 19:24  [ТС]
Как раз в этой справке сижу.
Имеется ввиду, что есть несколько строк, но в начале каждой строки одинаковая иконка.
Судя по справке, можно спросить координаты объекта и он выдаст их в формате (left, top, width, height). Вот исходя из этого, можно как то упорядочить и в дальнейшем использовать?

Upd. Нашел упорядочивание.
Получается он выдаст мне список координат. Как их обозвать, чтобы использовать?

Добавлено через 14 минут
К вопросу выше:
Python
1
2
3
4
5
6
7
8
>>> import pyautogui
>>> for pos in pyautogui.locateAllOnScreen('someButton.png')
...   print(pos)
...
(1101, 252, 50, 50)
(59, 481, 50, 50)
(1395, 640, 50, 50)
(1838, 676, 50, 50)
Собственно этот самый "pos" пронумеровать, чтобы было примерно так:
pos1(1101, 252, 50, 50)
pos2(59, 481, 50, 50)
0
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
29.10.2018, 19:35
Лучший ответ Сообщение было отмечено nik2004brn как решение

Решение

Разные есть способы, так например

Python
1
2
3
4
5
coords = {}
 
import pyautogui
for i,pos in enumerate(pyautogui.locateAllOnScreen('someButton.png'), 1):
             coords['pos' + str(i)] = pos
и потом обращаться

Python
1
coords['pos1']
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.10.2018, 19:35
Помогаю со студенческими работами здесь

[MFC] Передача текста в MDI окно, чтение текста из окна
Для редактирования бинарного файла, содержащего разные данные, к примеру, серийный номер оборудования, регистрационный номер и т.д. создаю...

Чтение текста из String и создание на его основе текста в Textbox
Дорогие друзья, суть проблемы: допустим у нас есть label в котором посредством запроса WMI получаем информацию (информация из разряда...

Чтение текста сообщения. И текста вложения к почте файла
Как читать текст сообщения письма mail И скачивания прикрепленного вложения к письму Добавлено через 18 часов 4 минуты Неужто ни...

Вывод текста в игре
Всем привет. Как в C# WinForms вывести в углу определенный текст в игре? Как в бандикаме - вывод фпс в углу. Спасибо

Вывод текста в игре
Слышал что-то про Direct3D, D3DXCreateFont. Хотелось бы узнать поподробнее как вывести текст в игре как на скрине. И как вообще работать в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru