0 / 0 / 0
Регистрация: 21.10.2012
Сообщений: 6

Работа с графикой

21.10.2012, 04:12. Показов 1620. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем Добра!
хотелось бы выяснить, может, кто и посоветует, - хочу написать ради интереса бота для некоей игры (пофиг, в принципе, но она браузерка).
в общем, она должна распознавать небольшие картинки на карте (например, у меня есть скриншот домика - я хочу, чтобы программа находила эти домики на карте по заданной ей картинке). попиксельно выискивать - не вариант, так как фон карты довольно многохроматичен, и, соответственно, цвета, присутствующие в домике, также присутствуют и в окружающем ландшафте (например, желтый домик стоит в песке - его вполне видно глазом, но его цвет практически сливается с песком. пусть даже так - домик - это тупо рамочка черного цвета, сквозь которую просвечивает ландшафт. ландшафтом может быть все что угодно, в т ч и камни черного цвета)

далее. по карте ходят мобы. они простейшей флешевой анимации, но к каждому мобу идет приписка цветным тектсом. например,
ГРАБИТЕЛЬ ТУПОВАТЫЙ

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

я знаю, что существуют некоторые процедуры по определению местоположения данной программе картинки на, например, интернет странице.

посоветуйте пожалуйста, что можно почитать на эту тему и на каком языке начать писать? знаю на уровне создания небольших не очень сложных структур:
Borland Pascal (школьный курс, довольно плотный)
Java
C++
Haskell (жопа, прошу прощения, но повторить можно)
Erlang (совсем ж...).

мне говорили, что хорошо работать с графикой на c sharp или на java. видимо, товарищи имели в виду СОЗДАНИЕ графики, а не работа с уже существующей.

заранее большущее спасибо!

З.Ы. всем печенек!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.10.2012, 04:12
Ответы с готовыми решениями:

Быстрая работа с графикой
Добрый день. интересует способ быстрого выведения множества пикселей на экран. мне не нужны полигоны и другие сложные объекты, нужны именно...

Работа с графикой
Здравствуйте! У меня есть задача создать форму со схемой устройства, причем элементы схемы должны реагировать на щелчки мышью (менять...

Работа с графикой
Объясните, пожалуйста, есть программа, в которой необходимо построить график функции y=x^5-x-0.2 на интервале от 1 до 1,1. Как правильно...

8
 Аватар для Kastaneda
5232 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
21.10.2012, 17:29
Я подобные вещи писал на С++ и WinAPI (давно это было). Искал именно попиксельно. Например мну нужно было найти кнопку, она определенного цвета с надписью в середине. Я искал квадрат N*N пикселей нужного цвета, поскольку квадрата такого размера именно этого цвета больше ни где не присутствовало.


Цитата Сообщение от esselesse Посмотреть сообщение
я хочу, чтобы программа выбирала (скажем, наводила мышкой) на домик, но если близко к домику подходит этот моб, отводила мышку к другому домику.
засекаешь цвет пикселя рядом с домом с разу при старте игры (предполагается, что это будет цвет фона). Далее с определенным интервалом проверяешь пиксель в этом месте, если цвет изменился, то похоже подошел моб - убираешь мышку.

Добавлено через 2 минуты
Помнится в процессе написания бота создал такую тему, может пригодится
1
0 / 0 / 0
Регистрация: 21.10.2012
Сообщений: 6
21.10.2012, 17:54  [ТС]
Спасибо!
с++ значит с апишкой...

может, на питоне попробовать?..

засекаешь цвет пикселя рядом с домом с разу при старте игры (предполагается, что это будет цвет фона)
фон многоцветный, то бишь в каком-то квадрате засечь все пиксели по периметру?
0
 Аватар для Kastaneda
5232 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
21.10.2012, 18:02
Цитата Сообщение от esselesse Посмотреть сообщение
может, на питоне попробовать?..
Я питона не знаю, если там есть доступ к WinAPI, то можно попробовать. Хотя думаю скорость пострадает, С++ все таки быстрее будет.

Цитата Сообщение от esselesse Посмотреть сообщение
фон многоцветный, то бишь в каком-то квадрате засечь все пиксели по периметру?
Достаточно будет одного пикселя, просто нужно вычислить тот пиксель который на протяжении всей игры остается неизменным и его цвет может измениться только в том случае, если там будет находится моб.
1
0 / 0 / 0
Регистрация: 21.10.2012
Сообщений: 6
21.10.2012, 23:39  [ТС]
понял, попробую не полениться и замутить какую-нибудь фигню.
Добра Вам!

Добавлено через 3 часа 30 минут
Если Вам интересно, нашел забавную программку, называется AutoIt.
Это язык скриптов с богатым набором примеров. по сути, это программируемый кликер, но в нем реализовано дофига интересных функций.
0
 Аватар для Kastaneda
5232 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
22.10.2012, 08:50
Цитата Сообщение от esselesse Посмотреть сообщение
Если Вам интересно, нашел забавную программку, называется AutoIt.
Это язык скриптов с богатым набором примеров. по сути, это программируемый кликер, но в нем реализовано дофига интересных функций.
Да уже не интересно, я писал этого бота чтоб с WinAPI научится работать. Я тоже ее находил. Но она далеко не универсальная.
1
Эксперт С++
 Аватар для Avazart
8483 / 6150 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
23.10.2012, 00:14
Можно на Builder-у писать, но все равно придется прибегнуть к WinApi что бы увеличить скорость анализа, кроме того помню что из WinApi GetPixel() не подходит - вроде она медленная.

Писал когда-то подобного бота-кликера - дело это не благодарное...много рутины, работает не надежно и не универсально.
Лучше взламывать- ловить пакеты итп.
1
0 / 0 / 0
Регистрация: 21.10.2012
Сообщений: 6
23.10.2012, 01:36  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
Лучше взламывать- ловить пакеты итп.
там отлов ботов на этой хрени стоит, к сожалению.

давайте ломанем гугловскую апишку!)))
0
Эксперт С++
 Аватар для Avazart
8483 / 6150 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
23.10.2012, 01:57
"Против лома нет приема..." , но взлом это уже тема не для этого форума ...
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.10.2012, 01:57
Помогаю со студенческими работами здесь

Работа с графикой
Срочно нужна помощь с выполнением следующих заданий... 1) На компоненте TImage расположить произвольный рисунок. При помощи кнопок на...

Срочно Работа с графикой
Помогите написать программу Желательно написать ее для Free Pascal :) Задача. 22 . Получить наэкране изображение шахматной...

Работа с графикой TImage
Здравствуйте Есть задачка и куча проблем к ней... Суть задачи: есть карта(или часть карты) в цилиндрической проекции, необходимо...

С++ Builder и работа с графикой
Доброго времени суток. Возникли вопросы по работе с графикой. Вопрос таков - как создать массив или класс или компоненту, чтобы был...

работа с графикой в С++ Builder
ни у кого случайно не завалялась какаято стоящая программка по этой теме... диплом горит...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

Новые блоги и статьи
sshd restrictions, ssh access limitations
jigi33 26.03.2025
sshd restrictions | ssh access limitations рестрикции доступа на сервер sshd статья: https:/ / www. golinuxcloud. com/ restrict-allow-ssh-certain-users-groups-rhel
Компиляция C++ с Clang API
NullReferenced 24.03.2025
Компиляторы обычно воспринимаются как черные ящики, которые превращают исходный код в исполняемые файлы. Мы запускаем компилятор командой в терминале, и вуаля — получаем бинарник. Но что если нужно. . .
Многопоточное программировани­е в C#: Класс Thread
UnmanagedCoder 24.03.2025
Когда запускается приложение на компьютере, операционная система создаёт для него процесс - виртуальное адресное пространство. В C# этот процесс изначально получает один поток выполнения — главный. . .
SwiftUI Data Flow: Передача данных между представлениями
mobDevWorks 23.03.2025
При первом знакомстве со SwiftUI кажется, что фреймворк предлагает избыточное количество механизмов для передачи данных: @State, @Binding, @StateObject, @ObservedObject, @EnvironmentObject и другие. . . .
Моки в Java: Сравниваем Mockito, EasyMock, JMockit
Javaican 23.03.2025
Как протестировать класс, который зависит от других сложных компонентов, таких как базы данных, веб-сервисы или другие классы, с которыми и так непросто работать в тестовом окружении? Для этого и. . .
Архитектурные паттерны микросервисов: ТОП-10 шаблонов
ArchitectMsa 22.03.2025
Популярность микросервисной архитектуры объясняется множеством важных преимуществ. К примеру, она позволяет командам разработчиков работать независимо друг от друга, используя различные технологии и. . .
Оптимизация рендеринга в Unity: Сортировка миллиона спрайтов
GameUnited 22.03.2025
Помните, когда наличие сотни спрайтов в игре приводило к существенному падению производительности? Время таких ограничений уходит в прошлое. Сегодня геймдев сталкивается с задачами совершенно иного. . .
Образование и практика
Igor3D 21.03.2025
Добрый день А вот каково качество/ эффективность ВУЗовского образования? Аналитическая геометрия изучается в первом семестре и считается довольно легким курсом, что вполне справедливо. Ну хорошо,. . .
Lazarus. Таблица с объединением ячеек.
Massaraksh7 21.03.2025
Понадобилась представление на экране таблицы с объединёнными ячейками. И не одной, а штук триста, и все разные. На Delphi я использовал для этих целей TStringGrid, и то, кривовато получалось. А в. . .
Async/await в Swift: Асинхронное программировани­е в iOS
mobDevWorks 20.03.2025
Асинхронное программирование долго было одной из самых сложных задач для разработчиков iOS. В течение многих лет мы сражались с замыканиями, диспетчеризацией очередей и обратными вызовами, чтобы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru