Я пытаюсь создать решатель судоку с графическим интерфейсом, используя pygame. Я заполняю экран белым и рисую прямоугольники для сетки, затем переворачиваю экран, чтобы обновить его. Теперь я использую массив доски для рисования значений сетки, используя следующую функцию
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)
сетка прорисовывается правильно и ненулевые элементы тоже читаются правильно, но текст вообще не рендерится. поскольку функция рендеринга также будет рисовать решенную сетку по мере того, как программа ее решает, я хочу, чтобы она обновлялась по мере того, как значение выводится на экран. Что я делаю не так?
pygame.display.flip()
в другом месте, то переворот не нужен. 11.01.2020