Ошибка игрового бота (ошибка игры Python Chrome Dinousor) - PullRequest
0 голосов
/ 23 мая 2018

Я следовал за пачкой Нажмите меня! , и я получил неожиданные результаты: мой код

from PIL import ImageGrab, ImageOps
import pyautogui
import time
from numpy import *

class Cordinates():
   replayBtn = (960,355)
   dinosaur = (784,375)
   #770x360, 770x365

def restartGame():
    pyautogui.click(Cordinates.replayBtn)
def pressSpace():
    pyautogui.keyDown('space')
    time.sleep(0.05)
    print("Jump")
    pyautogui.keyUp('space')
def imageGrab():
    box = (Cordinates.dinosaur[0]+435, Cordinates.dinosaur[1]+25, 
    Cordinates.dinosaur[1]+335, 10)
    image = ImageGrab.grab(box)
    grayImage = ImageOps.grayscale(image)
    a = array(grayImage.getcolors())
    return a.sum()
def main():
    restartGame()
    while True:
       if imageGrab()!=1447:
            #pressSpace()
            print(imageGrab)
            time.sleep(0.1)
time.sleep(2)           
main()

и отпечаток, который я добавил для отладки, дают мне

<function imageGrab at 0x079CBD68>

Что я могу исправить, чтобы сделать эту работу?

1 Ответ

0 голосов
/ 23 мая 2018

здесь

if imageGrab()!=1447:
    #pressSpace()
    print(imageGrab)
    time.sleep(0.1)

вы print(imageGrab) как переменная, но вам нужно напечатать как метод

print(imageGrab())

вы распечатали функцию, а не результат функции

...