Я делаю судоку GUI, где пользователь вводит начальные числа, и когда пользователь нажимает ввод, он решает доску. Я сделал команду, что когда пользователь нажимает на блок, он выделяет его красным контуром, а затем он может ввести число от 1 до 9. Я хочу, чтобы пользователь мог go перейти к следующему блоку, нажав стрелку один раз и переход к следующему блоку, однако, используя pg.K_UP et c. GUI пропускает пару блоков (мне нужно очень быстро нажать стрелку, чтобы она двигалась только на один блок). Как я могу это исправить? Вот мой код
# click on a block
for x in range(9):
for y in range(9):
# give the block a colored outline
if pg.mouse.get_pressed() == (1, 0, 0) and \
x * xmax / 9 < pg.mouse.get_pos()[0] < (x + 1) * xmax / 9 and y * ymax / 9 < \
pg.mouse.get_pos()[1] < (y + 1) * ymax / 9:
xpos = x
ypos = y
clicked = True
if clicked:
pg.draw.rect(scr, red, (xpos * xmax/9, ypos * ymax/9, xmax/9, ymax/9), 4)
# Move to the next block
if keys[pg.K_UP]:
ypos -= 1
if keys[pg.K_DOWN]:
ypos += 1
if keys[pg.K_LEFT]:
xpos -= 1
if keys[pg.K_RIGHT]:
xpos += 1