Как исправить: основная функция недоступна - Python 3.5 - PullRequest
0 голосов
/ 20 июня 2019

Я пытаюсь сделать очень простой бот по этому видео: https://www.youtube.com/watch?v=5Jwd69MRYwg

Основная функция, которая должна вызываться, когда часть экрана меняет цвет, просто не запускается вообще.

Я пытался завершить программу с

"main()" 

и

"if __name__ == '__main__':
    main()"

соответственно. Ни один из них не позволил коду выполнить

def restart_game():
    time.sleep(1)
    pyautogui.click(Coordinates.replayBtn)
def image_grab():
    box = (290, 465, 305, 487)
    image = image_grab_lib.grab(box)
    grey = ImageOps.grayscale(image)
    a = array(grey.getcolors())
    print(a.sum())
    return a.sum()
def main():
    restart_game()
    print("blip")
    if image_grab() != 577:
        print("Jump")
        press_space()
        time.sleep(1)
        restart_game()

if __name__ == '__main__':
    main()

Я ожидаю, что основная функция запустится и выдаст print "blip" и "jump", в настоящее время выполняет весь другой код и полностью пропускает основную функцию.

показывает, как выглядит предупреждение в PyCharm - изображение

1 Ответ

0 голосов
/ 21 июня 2019

Ваш код недоступен, потому что у вас есть бесконечный цикл while до определения main ().Это хорошая практика в приложениях, которым требуется цикл while, чтобы поместить его внутрь, если условие name == ' main ' после объявления всех переменных.Как это:

if __name__ == '__main__':
    while True:
        do_something()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...