Это простой варнинг, он вряд ли будет являтся причиной закрытия скрипта.
Давайте по порядку разберем.
Запускаете главный файл, код доходит до этих строк.
game_over = True
running = True
while running:
time_delta = clock.tick(60)/1000.0
#Меню
if game_over:
menu()
Так как
game_over == True
, сразу выполняется функция
menu
. Функция
menu
в бесконечном цикле ожидает нажатие escape, после чего ее выполнение заканчивается и поток возвращается в основной файл.
running = True
while running:
time_delta = clock.tick(60)/1000.0
#Меню
if game_over:
menu()
if not check_menu:
running = False
check_menu
будет равен
None
. Условие
not None
дает нам
True
и мы присваиваем
running = False
. Дальше какой-то неинтересующий нас код, цикл
while
доходит до конца и не начинается заново, так как
runnig
уже равен
False
. Так что выходим из цикла и выполняем
pygame.quit()
. Конец, код отработал ровно так, как написан.
Как правило я так не делаю, но тут могу только посоветовать что нибудь изучить на тему Python и PyGame. Потому что, даже обладая некоторыми знаниями, читать подобный код не самое простое занятие. Боюсь представить как это выглядит для незнающего человека. Вы сами запутались в своих конструкциях, именах функций, переменных, самой логике приложения