Переменная в течение l oop не может увеличиваться - PullRequest
0 голосов
/ 18 января 2020

Это часть проекта, касающегося стрелялки. Переменная fail_times не увеличивается, как положено. Как мне решить эту проблему?

def check_fail(bullets,stats,screen,fail_times):   
        for bullet in bullets:  
            if bullet.rect.right>=screen.get_rect().right:  
                bullets.remove(bullet)    
                fail_times+=1    
                print(fail_times)    
            elif fail_times>3:
                stats.game_active=False   
                pygame.mouse.set_visible(True)    

1 Ответ

2 голосов
/ 18 января 2020

Если вы создадите класс с переменной класса, у него будет искомая область:

class game:
    def __init__(self, fail_times=0):
        self.fail_times = fail_times

    def check_fail(self, bullets, stats, screen):
        for bullet in bullets:
            if bullet.rect.right >= screen.get_rect().right:
                bullets.remove(bullet)
                self.fail_times += 1
                print(fail_times)
            elif fail_times > 3:
                stats.game_active = False
                pygame.mouse.set_visible(True)

Затем, чтобы использовать его, вам нужно создать экземпляр класса:

my_game = game()
my_game.check_fail(bullets, stats, screen)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...