Отрисовывается только 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