Не могу запустить спрайт игры платформер, всё уже перепробовал

Вот склепал класс преграды для игры на пегейме :

#Класс преграды для персанажа 
class pregrada(pygame.sprite.Sprite):
    def __init__(self,zx,zy):
        self.surf = pygame.Surface((20, 300))
        self.surf.fill((255,0,0))
        self.rect = self.surf.get_rect()

        self.rect.x = zx
        self.rect.y = zy
        
    def move(self):
       pass

Есть две группы:

all_sprites = pygame.sprite.Group()

platforms.add(PT1)

В общем при попытки вызвать спрайта выдаёт ошибку “‘pregrada’ object has no attribute ‘_Sprite__g’”
что самое интересное в другой версии игры где я пользовал данный способ всё работало.
Вот сам способ.

#lavel = [i for i in range(int(0), int(WIDTH) + 1)]
lavel = [0,1,2,3,4,5,6,7,8,9]
#level[1] = 10
for i in range(10):
    if  i == 1:
        K = pregrada(i,650) #Кардинаты платформы
        all_sprites.add(K)
        platforms.add(K)

Вот вся игра целиком.

import pygame
from pygame.locals import *
import sys
import random
import clasiki
import array

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()
vec = pygame.math.Vector2 #2 for two dimensional

WIDTH = 1400  # Длина сцены
HEIGHT = 750 #Ширина сцены
ACC = 0.5
FRIC = -0.12
FPS = 60

FramePerSec = pygame.time.Clock()

displaysurface = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("Game")

class Player(pygame.sprite.Sprite):
   def __init__(self):
       super().__init__() 
       #self.image = pygame.image.load("character.png")
       self.surf = pygame.Surface((40, 120))
       self.surf.fill((128,255,40))
       self.rect = self.surf.get_rect()
  
       self.pos = vec((10, 360))
       self.vel = vec(0,0)
       self.acc = vec(0,0)

   def move(self):
       self.acc = vec(0,0.5)
   
       pressed_keys = pygame.key.get_pressed()
               
       if pressed_keys[K_LEFT]:
           self.acc.x = -ACC
       if pressed_keys[K_RIGHT]:
           self.acc.x = ACC
                
       self.acc.x += self.vel.x * FRIC
       self.vel += self.acc
       self.pos += self.vel + 0.5 * self.acc
        
       if self.pos.x > WIDTH:
           self.pos.x = 0
       if self.pos.x < 0:
           self.pos.x = WIDTH
            
       self.rect.midbottom = self.pos

   def jump(self):
       hits = pygame.sprite.spritecollide(self, platforms, False)
       if hits:
          self.vel.y = -15


   def update(self):
       hits = pygame.sprite.spritecollide(P1 ,platforms, False)
       if P1.vel.y > 0:        
           if hits:
               self.vel.y = 0
               self.pos.y = hits[0].rect.top + 1


class platform(pygame.sprite.Sprite):
   def __init__(self):
       super().__init__()
       self.surf = pygame.Surface((WIDTH, 20))
       self.surf.fill((255,0,0))
       self.rect = self.surf.get_rect(center = (WIDTH/2, HEIGHT - 10))

   def move(self):
       pass


#Класс преграды для персанажа 
class pregrada(pygame.sprite.Sprite):
   def __init__(self,zx,zy):
       self.surf = pygame.Surface((20, 300))
       self.surf.fill((255,0,0))
       self.rect = self.surf.get_rect()

       self.rect.x = zx
       self.rect.y = zy
       
   def move(self):
      pass


PT1 = platform()
P1 = Player()





all_sprites = pygame.sprite.Group()

all_sprites.add(PT1)
all_sprites.add(P1)


platforms = pygame.sprite.Group()
pre = pygame.sprite.Group()

platforms.add(PT1)


#####################################################

    #Карта `
  
#lavel = [i for i in range(int(0), int(WIDTH) + 1)]
lavel = [0,1,2,3,4,5,6,7,8,9]
#level[1] = 10
   




   #постпроение карты
for i in range(10):
   if  i == 1:
       K = pregrada(i,650) #Кардинаты платформы
       all_sprites.add(K)
       platforms.add(K)
       

##########################################################


while True: 
   for event in pygame.event.get():
       if event.type == QUIT:
           pygame.quit()
           sys.exit()
       if event.type == pygame.KEYDOWN:    
           if event.key == pygame.K_SPACE:
               P1.jump()
        

            
               
               
               
               
               
               
   displaysurface.fill((0,0,0))
   P1.update()

   for entity in all_sprites:
       displaysurface.blit(entity.surf, entity.rect)
       entity.move()
   pygame.display.flip()
   #pygame.display.update()
   FramePerSec.tick(FPS)

Это на какой строке выдает?

Ну так надо смотреть чем отличаются )

Ошибку выдаёт на 136 строке.

#####################################################
     #Карта ` 
#lavel = [i for i in range(int(0), int(WIDTH) + 1)]
lavel = [0,1,2,3,4,5,6,7,8,9]
#level[1] = 10
    #построение карты
for i in range(10):
    if  i == 1:
        K = pregrada(i,650) #Кардинаты платформы
        all_sprites.add(K) # pregrada’ object has no attribute ‘_Sprite__g’
        platforms.add(K)

Вот собрал совсем примитив.

#Клепаю новую группу
rrr = pygame.sprite.Group()

K = pregrada(300,650) #Координаты платформы
all_sprites.add(K) # pregrada’ object has no attribute ‘_Sprite__g’
rrr.add(K)

Ошибку как выдавал так и выдаёт в чём проблема ума не прилажу.

Конструктор базового класса не вызван

class pregrada(pygame.sprite.Sprite):
    def __init__(self,zx,zy):
        pygame.sprite.Sprite.__init__(self)

что можно найти просто загуглив текст ошибки.

Спасибо решил проблему