import pygame
pygame.init()
pygame.display.set_caption('...SHON...PONG...')
icon=pygame.image.load('icon.png')
pygame.display.set_icon(icon)
FPS=50
fpsClock=pygame.time.Clock()
screenh=500
screenw=300
screen=pygame.display.set_mode((screenh,screenw))
black =((0,0,0))
paddle1=pygame.image.load('paddle1.png')
paddle1_rect=paddle1.get_rect()
paddle1_y=100
paddle1_x=10
paddle2=pygame.image.load('paddle2.png')
paddle2_rect=paddle1.get_rect()
paddle2_y=100
paddle2_x=471
ball=pygame.image.load('player.png')
ball_rect=ball.get_rect()
ball_x=240
ball_y=130
ball_y_speed=2
ball_x_speed=2
speed=15
paddle1_rect.x=paddle1_x
paddle1_rect.y=paddle1_y
paddle2_rect.x=paddle2_x
paddle2_rect.y=paddle2_y
ball_rect.x=ball_x
ball_rect.y=ball_y
def ball_movement():
global ball_x, ball_y, ball_x_speed, ball_y_speed
ball_x -=ball_x_speed
ball_y +=ball_y_speed
def ball_collide_screen():
global ball_x, ball_y, ball_x_speed, ball_y_speed
if ball_y + screenw >= 600:
ball_y_speed = -2
if ball_y + screenw <= 300:
ball_y_speed = -2
def ball_collide_paddles():
global ball_rect, paddle1_rect, paddle2_rect
if paddle1_rect.right - ball_rect.left <= 0:
print('ho')
running=True
while running:
screen.fill((0,0,0))
screen.blit(paddle1, (paddle1_x,paddle1_y))
screen.blit(paddle2, (paddle2_x,paddle2_y))
screen.blit(ball, (ball_x, ball_y))
ball_collide_screen()
ball_movement()
ball_collide_paddles()
pygame.display.update()
fpsClock.tick(FPS)
for event in pygame.event.get():
if event.type==pygame.QUIT:
running=False
pygame.quit()
if event.type==pygame.KEYDOWN:
if event.key==pygame.K_w:
paddle1_y-= speed
if event.key==pygame.K_z:
paddle1_y+=speed
if event.key==pygame.K_UP:
paddle2_y-=speed
if event.key==pygame.K_DOWN:
paddle2_y+=speed
*i am getting problems with the pygame colliderect function. i put a print function whenever the ball collides with paddle and it continues print collide as long as the program is running.....i read somewhere that the rect position has to be matching with the balls initial position and i have tried doing that but all in vain .....i have been doing pygame for a while and i have encountered this problem trying to make this pong game *