Я пытаюсь построить решатель судоку с GUI, используя pygame. Я заполняю экран белым и рисую прямоугольники для сетки, затем переворачиваю экран, чтобы обновить его. Теперь я использую массив board для рисования значений сетки, используя следующую функцию
def on_render(self, board):
font = pygame.font.Font(pygame.font.match_font('nintendoext003'), 1)
screen = pygame.display.get_surface()
screen.fill((255, 255, 255))
for height in range(9):
for width in range(9):
rect = pygame.Rect(width*70, height*70, 68, 68)
pygame.draw.rect(screen, (0, 0, 0), rect)
pygame.display.flip()
screen = pygame.display.get_surface()
for height in range(9):
for width in range(9):
if not board[height][width] == 0:
value = font.render(str(board[height][width]), True, (255, 255, 255))
valrect = value.get_rect()
valrect.center = (width*70 + 34, height*70 + 34)
screen.blit(value, valrect)
сетка dr aws правильно и ненулевые элементы также читаются правильно, но текст вообще не отображается , Так как функция рендеринга также будет рисовать решенную сетку по мере того, как программа ее решает, я хочу, чтобы она обновлялась, когда значение отображается на экране. что я делаю не так?