Отрисовывается только tkinter window, а pygame метод blit игнорируется

import pygame
from control import Control
from Snake import Snake
from gui import Gui
from Food import Food
import tkinter as tk
from tkinter import messagebox
import time

pygame.init()
window = pygame.display.set_mode((441, 441))
pygame.display.set_caption("SNAKE by WoodSpace")
control = Control()
snake = Snake()
gui = Gui()
gui.init_square()
food = Food()
food.get_food_coord(gui)
speed = 0
temp = 0
option = 0


def check_option():
    global option
    if option == 1:
        message_box('You won!', 'Wanna play again?')
        snake.reset(control)
        gui.game = "GAME"
        control.flag_game = True
        option = 0
    elif option == 2:
        message_box('You Lost!', 'Play again...')
        snake.reset(control)
        gui.game = "GAME"
        control.flag_game = True
        option = 0


def message_box(subject, content):
    root = tk.Tk()
    root.attributes("-topmost", True)
    root.withdraw()
    messagebox.showinfo(subject, content)
    try:
        root.destroy()
    except:
        pass


while control.flag_game:
    gui.check_win_lose(snake)
    control.control()
    window.fill(pygame.Color("Black"))
    if gui.game == "GAME":
        snake.draw_snake(window)
        food.draw_food(window)
        gui.draw_level(window)
    elif gui.game == "WIN":
        gui.draw_win(window) # не выполняется
        option = 1
        check_option() # выводит message_box
    elif gui.game == "LOSE":
        gui.draw_lose(window) # не выполняется
        time.sleep(3) # 
        option = 2
        check_option() # выводит message_box
    if speed % 50 == 0 and control.flag_pause and gui.game == "GAME":
        snake.move(control)
        snake.check_barrier(gui)
        snake.eat(food, gui)
        snake.check_end_window()
        snake.animation()
    speed += 1
    pygame.display.flip()

Методы из gui.py:

def draw_win(self, window):
    window.blit(self.win, (0, 0))

def draw_lose(self, window):
    window.blit(self.lose, (0, 0))

def check_win_lose(self, snake):
    if len(snake.body) == 2:
        self.game = "LOSE"
    elif len(snake.body) == 6:
        self.game = "WIN"

Пробывал ставить time.sleep все равно выполняется только функция message_box


Ответы (0 шт):