Как в условной конструкции запретить выполнять строку кода?

Рейтинг: -1Ответов: 1Опубликовано: 21.02.2023

мне нужно не выполнять строку "screen.fill((22, 12, 89))",после обновления,то есть ее нужно удалить,либо "отменить",как это сделать,заранее спасибо!

import pygame

pygame.init()
screen = pygame.display.set_mode((1480,720))
pygame.display.set_caption("Программа")


running = True
while running:

    screen.fill((22, 12, 89))
    pygame.display.update()
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
            pygame.quit()
        elif event.type == pygame.KEYDOWN:
            if event.key == pygame.K_a:
                screen.fill((109, 94, 204))
                pygame.display.update()

Ответы

▲ 0Принят

Если я вас правильно понял, то вы хотите, чтобы после первого выполнения строки, она больше не выполнялась. В таком случае можно сделать это через флаг

import pygame

pygame.init()
screen = pygame.display.set_mode((1480,720))
pygame.display.set_caption("Программа")


running = True
flag = False # +++
while running:
    if not flag:  # +++
        screen.fill((22, 12, 89))
        flag = True

    pygame.display.update()
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
            pygame.quit()
        elif event.type == pygame.KEYDOWN:
            if event.key == pygame.K_a:
                screen.fill((109, 94, 204))
                pygame.display.update()

Когда экран первый раз закрашивается, флаг становится True и на следующий раз экран не закрасится. Если я помог, то отметьте пожалуйста ответ как верный.