Как заставить мяч действительно отражаться от ракетки? - PullRequest
1 голос
/ 17 июня 2020

Это, кстати, для Brick Breaker или Breakout

def gamePlay(level,speed):
    global k,A,play,score,life,gameLevel,gameSpeed
    gameSpeed = speed
    gameLevel = level
    x = random.randrange(0,800)
    y = 200
    xpaddle = 400
    ypaddle = 565
    f = 0
    f1 = 0
    while True:
        gameDisplay.fill(black)
        gameData(score,life,level)
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                GameOver()
            if event.type == pygame.KEYDOWN:
                if event.key == pygame.K_LEFT:#paddle move left
                    xpaddle-=100
                    if xpaddle < 0:
                        xpaddle+=100
                if event.key == pygame.K_RIGHT:#paddle move right
                    xpaddle+=100
                    if xpaddle > 700:
                        xpaddle-=100
                if event.key == pygame.K_p:#pause
                    paused()
                    global pause 
                    pause = True

это физика весла ^

pygame.draw.circle(gameDisplay,green,(x,y),10)

это настоящий шар, в который вы попадаете ^

pygame.draw.rect(gameDisplay,red,(xpaddle,ypaddle,100,10))
        global paddle
        paddle = pygame.draw.rect(gameDisplay,red,(xpaddle,ypaddle,100,10))
        pygame.display.update()
        global ball
        ball = pygame.draw.circle(gameDisplay,green,(x,y),10)
        if ball.collidelist([paddle]) > -1:
            gameSpeed = -gameSpeed

именно так, Я ДУМАЛ, сработал бы «отражатель столкновения» ^

...