Sprite help for Pygame : I am simply making a pong game which is basketball orientated. What Im trying to do is change the rectangles I currently have into basketball player sprites to make it look more appealing. I'm new to this so i know i have probably made a dumb mistake but what happens is my player on the left side doesn't appear at all and is invisible but still functions as a block and will hit the ball. Any help is much appreciated thanks! 

    import pygame
    
    black = (0,0,0)
    white = (255,255,255)
    
    pygame.init()
    
    size = 800,600
    screen = pygame.display.set_mode(size)
    pygame.display.set_caption("Basketball Shootout")
    
    done = False
    clock = pygame.time.Clock()
    
    
    class Player1(pygame.sprite.Sprite):
     
        def __init__(self, x, y):
            """Constructor function"""
            # Call the parent's constructor
            super().__init__()
     
            # Set height, width
            self.image = pygame.Surface([15, 15])
            self.image = pygame.image.load("player1.png")
        
    
    
    def player1(x1, y1, xsize, ysize):
        Player1(screen, [x1, y1, xsize, ysize])
    
    def player2(x2, y2, xsize, ysize):
        pygame.draw.rect(screen, black, [x2,y2,xsize,ysize])
    
    def ball(ballx, bally):
        pygame.draw.circle(screen, black, [ballx,bally],20)
    
    def Score1(score1):
        font = pygame.font.Font("Minecraft.ttf" ,50)
        text = font.render(str(score1), True, white)
        screen.blit(text, [160, 550])
    
    def Score2(score2):
        font = pygame.font.Font("Minecraft.ttf" ,50)
        text = font.render(str(score2), True, white)
        screen.blit(text, [610, 550])
    
    x1 = 20
    y1 = 175
    xsize = 35
    ysize = 150
    speed1 = 0
    
    x2 = 740
    y2 = 175
    speed2 = 0
    
    ballx = 550
    bally = 250
    speedx = 8
    speedy = 5
    
    score1 = 0
    score2 = 0
    
    bg = pygame.image.load("pongbg2.png")
    rect1 = pygame.Rect(50,510,100,50)
    
    def pausescreen():
        import pausescreen
        
    
    display_game = True
    game_page = 1
    
    
    while not done: 
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                done = True
    
                pygame.draw.rect(screen, (255, 255, 255), rect1)
    
            if event.type == pygame.KEYDOWN:
                if event.key == pygame.K_w:
                    speed1 = -15
                if event.key == pygame.K_s:
                    speed1 = 15
                if event.key == pygame.K_UP:
                    speed2 = -15
                if event.key == pygame.K_DOWN:
                    speed2 = 15
    
            if event.type == pygame.KEYUP:
                if event.key == pygame.K_w:
                    speed1 = 0
                if event.key == pygame.K_s:
                    speed1 = 0
                if event.key == pygame.K_UP:
                    speed2 = 0
                if event.key ==  pygame.K_DOWN:
                    speed2 = 0
                if event.key == pygame.K_p:
                    pausescreen()
    
           
                    
    
        screen.blit(bg, (0, 0))
        player1(x1, y1, xsize, ysize)
        player2(x2, y2, xsize, ysize)
        ball(ballx,bally)
        Score1(score1)
        Score2(score2)
    
        y1 += speed1
        y2 += speed2
        ballx += speedx
        bally += speedy
    
        if y1 < 0:
            y1 = 0
    
        if y1 > 350:
            y1 = 350
    
        if y2 < 0:
            y2 = 0
    
        if y2 > 350:
            y2 = 350
    
        if ballx+20 > x2 and bally-20 > y2 and bally+20 < y2+ysize and ballx < x2+3:
            speedx = -speedx
    
        if ballx-20 < x1+35 and bally-20 > y1 and bally+20 < y1+ysize and ballx > x1+38:
            speedx = -speedx
    
        if bally > 477 or bally < 23:
            speedy = -speedy
    
        if ballx < 13:
            score2 += 1
            ballx = 350
            bally = 250
    
        if ballx > 750:
            score1 += 1
            ballx = 350
            bally = 250
    
            
            
    
        pygame.display.flip()
    
        clock.tick(60)
    
    pygame.quit()


I know i'm probably not meant to be asking two questions at once but my assignment is due in two days and i'm struggling, but another question I have is that when the ball hits the corner of the rectangle it glitches but works perfectly fine when the ball hits the centre. 

Thanks
