Добавление числа к переменной в цикле while true один раз в Python - PullRequest
0 голосов
/ 15 ноября 2018

Я вызываю функцию для pygame, поэтому мне нужно, чтобы она была в цикле, и я хочу добавить 50 к переменной с именем sy = 100.Функция читает каталог в поисках любых файлов Python, и если он находит их, я хочу отобразить первый файл в 100, который является начальной точкой sy.затем я хочу добавить 50 к переменной, а затем записать следующий файл в следующей точке, не перемещая первый, пока он просто записывает текст в одной и той же точке и перемещает его вниз по экрану, так как бы я получил его таккаждый файл разделен на 50 пикселей, а текст не перемещается.

Вот моя функция

def games():
    f = 0
    sy = 100
    file = []
    ftext = pygame.font.SysFont("Arial", 20)
    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                quit()
        screen.fill(DarkSpace)
        ToolBarButton("Home", 0, 0, 150, 50, SpaceGrey, CornflowerBlue, 10, cmain)
        ToolBarButton(username, 153,0,150,50, SpaceGrey, CornflowerBlue, 10, accountDetails)
        ToolBarButton("Programs", 305,0,150,50, SpaceGrey, CornflowerBlue, 10, programs)
        ToolBarButton("Games", 458,0,150,50, SpaceGrey, CornflowerBlue, 10, games)
        ToolBarButton("Help", 610,0,150,50, SpaceGrey, CornflowerBlue, 10, hel)
        DropDown(NeonGreen, CornflowerBlue, 764, 16, 30, 30, DropMenu)
        Btext(screen, "Loading Games!", CornflowerBlue, ftext, 600,600,600,600)
        fileDir = os.listdir("Games\\")
        for fileN in fileDir:
            verif = fileN.endswith('.py') or fileN.endswith('.pyw')
            if not verif:
                fileDir.remove(fileN)
            else:
                text(screen, fileN, CornflowerBlue, ftext, 400,sy)


        pygame.display.update()

1 Ответ

0 голосов
/ 15 ноября 2018

Так что я попытался понять это, и я сделал!Поэтому я добавляю отфильтрованные файлы в список, а затем делаю еще один цикл for, чтобы разбить их, а затем записываю их на экран.Я также взял часть, где я прочитал каталог и отфильтровал его для определенных файлов из цикла, чтобы сделать его новой функцией

def games():
    file = []
    ftext = pygame.font.SysFont("Arial", 20)
    fileDir = os.listdir("Games\\")
    for fileN in fileDir:
        verif = fileN.endswith('.py') or fileN.endswith('.pyw')
        if not verif:
            fileDir.remove(fileN)
        else:
            file.append(fileN)
    while True:
        sy = 100
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                quit()
        screen.fill(DarkSpace)
        ToolBarButton("Home", 0, 0, 150, 50, SpaceGrey, CornflowerBlue, 10, cmain)
        ToolBarButton(username, 153,0,150,50, SpaceGrey, CornflowerBlue, 10, accountDetails)
        ToolBarButton("Programs", 305,0,150,50, SpaceGrey, CornflowerBlue, 10, programs)
        ToolBarButton("Games", 458,0,150,50, SpaceGrey, CornflowerBlue, 10, games)
        ToolBarButton("Help", 610,0,150,50, SpaceGrey, CornflowerBlue, 10, hel)
        DropDown(NeonGreen, CornflowerBlue, 764, 16, 30, 30, DropMenu)
        for data in file:
            sy += 50
            text(screen, data, NeonGreen, ftext, 400,sy)
        pygame.display.update()

Если у кого-то есть лучший способ или другое решение, пожалуйста, дайте мне знать!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...