Не получается с формировать группу

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

    all_sprites = pygame.sprite.Group()
##    
    mobs = pygame.sprite.Group()

    adidas = pygame.sprite.Group() #Не формируется группа   
##    
##    
##    
    bullets = pygame.sprite.Group()


    adidas = adidas()  #Получается ашибка TypeError: 'Group' object is not callable 
    player = Player()
    all_sprites.add(player)

#------------------------------------------
#   Почемуто не формирует группу
#---------------------------------------

    adidas.add(adidas)

# Почемуто не работает!!! (час назад всё работало)
    #creepy.add(creepy)
#---------------------------------------

По идеи должны сформироваться группы спрайтов что бы отслеживать сталкновения следующим когдом.

    # Проверка, не ударил ли перс жуть игрока
    # Не работает совершенно
        hits = pygame.sprite.spritecollide(player, adidas, False)
        if hits:
           running = False
        

Но вот не чего подобного не происходит, не формируется группа хотя если переменовать группу под другой класс формирование происходит. Думал по началу что проблемма в классе, но я не нашёл в нём проблем. Более того класс запускается и прога работает при условии если не формируется группа. Вот сам ниже класс:

    class adidas(pygame.sprite.Sprite):
        def __init__(self):
            pygame.sprite.Sprite.__init__(self)
            self.image = pygame.Surface((700, 40))
            self.image.fill(YELLOW)
            self.rect = self.image.get_rect()
    
            self.rect.x = 0
            self.rect.y = 0

Бьюсь уже неделю и решить проблему не как не получается.
На всякий случай целиком ниже приведён код всей программы.

import pygame, sys,random 
import threading 
from pygame.color import THECOLORS
from pygame import font
#import menu
pygame.init()

def game_1():

    WIDTH = 700 
    HEIGHT = 700
    FPS = 60

    WHITE = (255, 255, 255)
    BLACK = (0, 0, 0)
    RED = (255, 0, 0)
    GREEN = (0, 255, 0)
    BLUE = (0, 0, 255)
    YELLOW = (255, 255, 0)

    pygame.init()
    #pygame.mixer.init()
    screen = pygame.display.set_mode((WIDTH, HEIGHT))
    pygame.display.set_caption("Игра!")
    clock = pygame.time.Clock()


    class Player(pygame.sprite.Sprite):
        def __init__(self):
            pygame.sprite.Sprite.__init__(self)
            self.image = pygame.Surface((50, 50))
            self.image.fill(GREEN)
            self.rect = self.image.get_rect()
            self.rect.centerx = WIDTH / 2
            self.rect.bottom = HEIGHT - 200
            self.speedx = 0

        def update(self):

            #Перемещение в пространсве перса
            self.speedx = 0
            keystate = pygame.key.get_pressed()
            if keystate[pygame.K_LEFT]:
                self.speedx = -8
            if keystate[pygame.K_RIGHT]:
                self.speedx = 8
            self.rect.x += self.speedx
        
            if keystate[pygame.K_DOWN]:
                self.speedy = +8
                self.rect.y += self.speedy                  # +
            if keystate[pygame.K_UP]:
                self.speedy = -8
                self.rect.y += self.speedy                  # +
#Границы которые не может перс преодолеть
        #Левая правая старона
            if self.rect.right > WIDTH:
                self.rect.right = WIDTH
            if self.rect.left < 0:
                self.rect.left = 0

            #Верх низ
            if self.rect.top > HEIGHT:
                self.rect.top = HEIGHT
            
            if self.rect.bottom > HEIGHT :
               self.rect.bottom = HEIGHT



        def shoot(self):
            bullet = Bullet(self.rect.centerx, self.rect.top)
            all_sprites.add(bullet)
            bullets.add(bullet)




    class Mob(pygame.sprite.Sprite):
        def __init__(self):
            pygame.sprite.Sprite.__init__(self)
            self.image = pygame.Surface((30, 40))
            self.image.fill(RED)
            self.rect = self.image.get_rect()
            self.rect.x = random.randrange(WIDTH - self.rect.width)
            self.rect.y = random.randrange(-100, -40)
            self.speedy = random.randrange(1, 8)
            self.speedx = random.randrange(-3, 3)

        def update(self):
            self.rect.x += self.speedx
            self.rect.y += self.speedy
            if self.rect.top > HEIGHT + 10 or self.rect.left < -25 or self.rect.right > WIDTH + 20:
#            self.rect.x = random.randrange(WIDTH - self.rect.width)
#            self.rect.y = random.randrange(-100, -40)
#            self.speedy = random.randrange(1, 8)
            
                self.rect.y = 100


    class Bullet(pygame.sprite.Sprite):
        def __init__(self, x, y):
            pygame.sprite.Sprite.__init__(self)
            self.image = pygame.Surface((10, 20))
            self.image.fill(YELLOW)
            self.rect = self.image.get_rect()
            self.rect.bottom = y
            self.rect.centerx = x
            self.speedy = -10

        def update(self):
            self.rect.y += self.speedy
        # убить, если он заходит за верхнюю часть экрана
            if self.rect.bottom < 0:
                self.kill()

    #Портал к новой игре
    class Portl(pygame.sprite.Sprite):
        def __init__(self):
            pygame.sprite.Sprite.__init__(self)
            self.image = pygame.Surface((70, 60))
            self.image.fill(BLUE)
            self.rect = self.image.get_rect()
            self.rect.x = 350
            self.rect.y = 60

    class adidas(pygame.sprite.Sprite):
        def __init__(self):
            pygame.sprite.Sprite.__init__(self)
            self.image = pygame.Surface((700, 40))
            self.image.fill(YELLOW)
            self.rect = self.image.get_rect()
    
            self.rect.x = 0
            self.rect.y = 0


    all_sprites = pygame.sprite.Group()
##    
    mobs = pygame.sprite.Group()

    adidas = pygame.sprite.Group() #Не формируется группа   
##    
##    
##    
    bullets = pygame.sprite.Group()


    adidas = adidas()  #Получается ашибка TypeError: 'Group' object is not callable 
    player = Player()
    all_sprites.add(player)

    


#------------------------------------------
#   Почемуто не формирует группу





#---------------------------------------
#--------------------------

    adidas.add(adidas)

    
    


# Почемуто не работает!!! (час назад всё работало)
    #creepy.add(creepy)
#---------------------------------------

    for i in range(8):
        m = Mob()
        all_sprites.add(m)
        mobs.add(m)
    
#for i in range(1): #Вызов стены жути  ( 1 штука)
#    creepy = creepy()
#    all_sprites.add(creepy)
     #creepy.add(creepy)

# Цикл игры
    running = True
    while running:
    # Держим цикл на скорости
        clock.tick(FPS)
    # Ввод процесса (события)
        for event in pygame.event.get():
        # проверка для закрытия окна
            if event.type == pygame.QUIT:
                running = False
            elif event.type == pygame.KEYDOWN:
                if event.key == pygame.K_SPACE:
                    player.shoot()

    # Обновление
        all_sprites.update()

        hits = pygame.sprite.groupcollide(mobs, bullets, True, True)
        for hit in hits:
            m = Mob()
            all_sprites.add(m)
            mobs.add(m)

        # Проверка, не ударил ли враг игрока
        hits = pygame.sprite.spritecollide(player, mobs, False)
        if hits:
           running = False
        
    # Проверка, не ударил ли перс жуть игрока
    # Не работает совершенно
        hits = pygame.sprite.spritecollide(player, adidas, False)
        if hits:
           running = False
        



    # Рендеринг
        screen.fill(BLACK)
        all_sprites.draw(screen)
    # После отрисовки всего, переворачиваем экран
        pygame.display.flip()
game_1()
pygame.quit()

Так что вы тут сделать пытаетесь?

adidas это ж эта переменная, а не класс и т.п.

Спасибо большое, нашёл ошибку благодаря вас. Всё работает.


    all_sprites = pygame.sprite.Group()
##    
    mobs = pygame.sprite.Group()

    creepyK = pygame.sprite.Group()  #  
     
    bullets = pygame.sprite.Group()
    
    PortlK = pygame.sprite.Group()  # 

   
    player = Player()
    all_sprites.add(player)

    


    for i in range(8):
        m = Mob()
        all_sprites.add(m)
        mobs.add(m)
    
    for i in range(1): #Вызов стены жути  ( 1 штука)
        creepy = creepy()
        all_sprites.add(creepy)
        creepyK.add(creepy)

    for i in range(1): #Вызов портала  ( 1 штука)
        Portl = Portl()
        all_sprites.add(Portl)
        PortlK.add(Portl)

И опять переопределили классы.

class A:
    pass

print(type(A))
for i in range(1):
    A = A()
print(type(A))