С Новым годом! Форум программистов, компьютерный форум, киберфорум
Python: ИИ, нейросети, ML, агенты
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 07.02.2022
Сообщений: 3

Создание бота для мобильной игры TrafficRacer. Python. искусственный интеллект, нейронная сеть

07.02.2022, 13:42. Показов 4411. Ответов 0

Студворк — интернет-сервис помощи студентам
На скриншоте нужно распознать все машинки, при этом сохраняя их расположение во что-то (список, число, строка и т.д.).
Примерные мысли расписал ниже.
Ссылка на скриншоты, код, код без комментариев - https://disk.yandex.ru/d/_JUYMw8KOP5g9w
Запуск мобильной игры TrafficRacer происходит через эмулятор BlueStacks.
Это мой первый код с использованием больше чем одной библиотеки, поэтому не судите строго.
Открыт для идей и критики кода. Критикуя, пожалуйста, предлагайте.

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
import pyautogui
# Через эту ↑ библиотеку я делаю скриншот
import win32gui
# Через эту ↑ библиотеку я получаю координаты окна,
# а также переношу окно на первый план, иначе при создании скриншота произойдет ошибка
import pytesseract
# Через эту ↑ библиотеку я нахожу текст на фото
import keyboard
# Через эту ↑ библиотеку я буду управлять машинкой в окне игры
#                                             ↑
#                                  Машинка управляется стрелками
import time
 
# Чтобы библиотека работала нужно указать путь к .exe ↓
pytesseract.pytesseract.tesseract_cmd = 'C:\\Program Files\\Tesseract-OCR\\tesseract.exe'
 
# Через BlueStacks ↓ происходит эмуляция android, где собственно и запущена игра TrafficRacer
name = 'BlueStacks'
 
 
# Получаю ↓ координаты окна - крайний верхний левый и крайний нижний правый углы
def get_size():
    win32gui.SetForegroundWindow(win32gui.FindWindow(None, name))
    return win32gui.GetWindowRect(win32gui.FindWindow(None, name))
 
 
# Создаю и возвращаю скриншот
def get_screenshot(positions=get_size()):
    a, b, c, d = positions
    return pyautogui.screenshot(region=(a, b, c - a, d - b))
 
 
while True:
    # В случае если машинка разбилась появляется окно со счетом,
    # с помощью pytesseract.image_to_string я распознаю слова на картинке,
    # а затем если они совпадают хотябы с одним словом из этого множества,
    # то я нажимаю на кнопку start again (скриншот score).
    #                        ↓ ↓ ↓
    while {'cash', 'close', 'total', 'garage', 'keep', 'above',
           'overtakes', 'leaderboards', 'achievements', 'doubler', 'your'} & \
            set(pytesseract.image_to_string(get_screenshot()).lower().split()):
        x, y, x1, y1 = get_size()
        pyautogui.click(x + (x1 - x) // 10 * 6.5, y1 - (y1 - y) // 10)  # Кнопка start again
 
    # Получаю ↓ нужный мне скриншот
    ScreenShot = get_screenshot()
    # Дальше мои мысли таковы:
    # 1) Каким-то образом мне нужно распознать все машинки на скриншоте
    #   (предпологаю делать это через нейросеть или какие-то фильтры/маски и т.п.),
    #
    # 2) Разбить поперёк каждую дорожку на n-ое количество частей,
    #   чтобы потом у нас получился список из дорожек.
    #
    #   Пример1: Рассмотрим скришот номер 31. (text31)
    #   Пусть n = 10, пусть 2 - это мы, 1 - это любая другая машина или часть машины, тогда:
    #   [
    #   [0, 0, 0, 0, 0, 0, 0, 0, 1, 1],    - дорожка 1
    #   [2, 2, 0, 0, 0, 0, 0, 0, 0, 0],    - дорожка 2
    #   [1, 0, 0, 0, 0, 0, 0, 0, 0, 0],    - дорожка 3
    #   [0, 0, 0, 0, 1, 1, 0, 0, 0, 0],    - дорожка 4
    #   ]
    #
    #  !) Но как тогда распознавать поворачивающие машинки?
    #   Мысль: разбить каждую дорожку вдоль на 2 части. ()
    #
    #   Пример2. Рассмотрим скришот номер 24. (text24)
    #   [
    #   [2, 2, 0, 0, 0, 0, 0, 0, 0, 0],    - дорожка 1.1
    #   [2, 2, 0, 0, 0, 0, 0, 0, 1, 1],    - дорожка 1.2
    #   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],    - дорожка 2.1
    #   [0, 0, 0, 0, 0, 1, 1, 0, 0, 0],    - дорожка 2.2
    #   [0, 0, 0, 0, 0, 1, 1, 0, 0, 0],    - дорожка 3.1
    #   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],    - дорожка 3.2
    #   [0, 0, 0, 1, 1, 0, 0, 0, 0, 0],    - дорожка 4.1
    #   [0, 0, 0, 1, 1, 0, 0, 0, 0, 0],    - дорожка 4.2
    #   ]
    #
    # На счет 2 пункта:
    # Как мне кажется хранить и перебирать список списков это малопроизводительно,
    # а значит нужен другой способ.
    # Это лишь идея, реализацию я изменю ещё кучу раз.
Миниатюры
Создание бота для мобильной игры TrafficRacer. Python. искусственный интеллект, нейронная сеть   Создание бота для мобильной игры TrafficRacer. Python. искусственный интеллект, нейронная сеть   Создание бота для мобильной игры TrafficRacer. Python. искусственный интеллект, нейронная сеть  

0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.02.2022, 13:42
Ответы с готовыми решениями:

Искусственный интеллект для логической игры
Конечно, громко звучит "искусственный интеллект", но в общем надо сделать бота для логической игры. Вот сама игра. Для игры в...

Искусственный интеллект (боты) для игры
с чего стоит начать создание ботов в игре (rpg) ? Нейронные сети или какое-то другое направление ? Посоветуйте какую-нибудь понятную...

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

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.02.2022, 13:42
Помогаю со студенческими работами здесь

Нужен программист для написания скрипт бота для мобильной онлайн игры заплачу
Здраствуйте господа программисты мне нужен бот для мобильной онлайн игры я заплачу)

Как создать искусственный интеллект для игры "крестики-нолики"?
Добрый день. Сразу говорю, новичок здесь и такой же не особо опытный в программировании на питоне. Поэтому прошу помощи. В общем идея...

Нейронная сеть для распознавания объектов на Python
Всем привет. Нужно написать СОБСТВЕННУЮ нейронную сеть для распознавания объектов на фотографии. Вот пример фотографии, на которой...

Нейронная сеть для поиска путей обхода препятствия (Python)
Здравствуйте, недавно начал изучать создание нейронных сетей на Python (в частности используя библиотеку Keras). Делал пример по...

Создание бота для игры
Добрый день, столкнулся с такой задачей, нужно написать бота, допустим для игры Hearthstone, суть бота состоит в том что бы он заходил на...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru