Попытка исправить эту ошибку IndexError: индекс 0 выходит за пределы оси 0 с размером - PullRequest
0 голосов
/ 31 января 2020

Меня вдохновило кодовое видео, где он сделал бота, который играет в игру Storm the house. Мой бот работает до тех пор, пока больше нет врагов, поэтому я знаю, что эта ошибка вызвана тем, что на экране нет черного пикселя. Я пытался использовать какое-то время l oop:

while coords[0][1]>0:

, но это не помогло

код:

import mss
import mss.tools
import time
import cv2
import numpy as np
import pyautogui
i=0
pyautogui.PAUSE = 0.01
with mss.mss() as sct:
 time.sleep(5)
 while True:

    monitor = {"top": 470, "left": 935, "width": 1065, "height": 870}

    sct_img = sct.grab(monitor)

    mss.tools.to_png(sct_img.rgb, sct_img.size, output='map.png')
    print(i)
    i+=1
    image = cv2.imread('map.png')
    gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

    threshold_level = 50

    coords = np.column_stack(np.where(gray < threshold_level))
    pyautogui.click(coords[0][1]+935,coords[0][0]+470)

Это вывод:

  File "c:/Users/*******/Desktop/code/screenshot_test.py", line 26, in <module>
    pyautogui.click(coords[0][1]+935,coords[0][0]+470)
IndexError: index 0 is out of bounds for axis 0 with size 0

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