Есть онлайн браузерная игра с механикой карточного боя.
Необходимо написать бота, который будет играть в игру, то есть gрограмма должна заменить пользователя в пошаговой карточной игре . Основная цель — анализировать текущее состояние игры, передавать данные в нейросеть (ChatGPT), получать оптимальный ход и выполнять его автоматически.
Основной функционал программы 1.
Анализ экрана пользователя: • Программа должна уметь делать скриншоты игрового экрана.
• Распознавание и извлечение информации с экрана (количество противников, их здоровье, выпавшие карты, здоровье игрока, очки хода).
2.
Передача данных в нейросеть (ChatGPT): • Формирование текстового запроса на основе извлеченных данных.
• Отправка запроса в нейросеть через API и получение ответа.
3.
Оценка ситуации нейросетью: • Нейросеть должна принимать данные о текущей ситуации и рассчитывать наилучший ход на основе заложенного алгоритма.
4.
Выполнение хода: • Программа должна имитировать клики пользователя в игре для выполнения предложенного нейросетью хода.
5.
Цикличное выполнение: • Программа должна повторять вышеуказанные шаги до окончания игры.
Детализация алгоритма программыШаг 1: Сбор данных и анализ экрана
1.
Скриншоты игры: • Программа делает скриншоты экрана игры каждые X секунд.
• Использование библиотеки
Pillow или
OpenCV для захвата экрана.
2.
Распознавание объектов на экране: • Программа анализирует скриншоты, используя методы компьютерного зрения
Извлечение информации:
- Количество противников.
- Здоровье противников.
- Выпавшие карты.
- Здоровье игрока.
- Очки хода.
Шаг 2: Формирование и передача данных в нейросеть (ChatGPT) 3.
Обработка данных: • Извлеченные данные преобразуются в формат JSON.
• Формируется текстовый запрос для ChatGPT, описывающий текущую ситуацию в игре.
4.
Запрос к ChatGPT: • Отправка запроса к API ChatGPT с данными о текущей игровой ситуации.
• Получение ответа с предложенным ходом.
Шаг 3: Выполнение хода 5.
Имитация действий пользователя: • Программа анализирует ответ ChatGPT и выполняет предложенные действия.
• Использование библиотеки
PyAutoGUI для имитации кликов и других действий.
Шаг 4: Повторение цикла 6.
Цикличное выполнение: • Программа повторяет шаги 1-5 до окончания игры.