import sys, pygame class gamestuff: paddle_x = 0 paddle_y = 0 paddle_w = 128 paddle_h = 16 ball_x = 0 ball_y = 0 ball_vx = 0 ball_vy = 0 ball_radius = 8 area_width = 512 area_height = 640 class core(): def __init__(self): pygame.init() self.screen = pygame.display.set_mode((gamestuff.area_width,gamestuff.area_height)) gamestuff.ball_x = 256.0 gamestuff.ball_y = 384.0 gamestuff.paddle_x = 64.0 gamestuff.paddle_y = gamestuff.area_height - 32.0 gamestuff.ball_vx = -1.25 gamestuff.ball_vy = -1.33 self.oldTime = pygame.time.get_ticks() def loop(self): newTime = pygame.time.get_ticks() dTime = (float(newTime - self.oldTime) / 1000.0) * 125.0 self.oldTime = newTime e = pygame.event.poll() keys = pygame.key.get_pressed() if not(e == pygame.NOEVENT): if e.type == pygame.QUIT: sys.exit() if keys[pygame.K_LEFT]: gamestuff.paddle_x -= 10 if gamestuff.paddle_x < 0: gamestuff.paddle_x = 0 if keys[ pygame.K_RIGHT]: gamestuff.paddle_x += 10 if (gamestuff.paddle_x + gamestuff.paddle_w)>= gamestuff.area_width: gamestuff.paddle_x = gamestuff.area_width - gamestuff.paddle_w gamestuff.ball_x += gamestuff.ball_vx * dTime gamestuff.ball_y += gamestuff.ball_vy * dTime if (gamestuff.ball_x < 0): gamestuff.ball_vx = -gamestuff.ball_vx gamestuff.ball_x = 0 if (gamestuff.ball_x > gamestuff.area_width): gamestuff.ball_vx = -gamestuff.ball_vx gamestuff.ball_x = gamestuff.area_width if (gamestuff.ball_y < 0): gamestuff.ball_vy = -gamestuff.ball_vy gamestuff.ball_y = 0 if(gamestuff.ball_y > gamestuff.area_height): gamestuff.ball_vy = -gamestuff.ball_vy gamestuff.ball_y = gamestuff.area_height if (gamestuff.ball_y > gamestuff.paddle_y) and ((gamestuff.ball_y) < (gamestuff.paddle_y + gamestuff.paddle_h)) and gamestuff.ball_vy > 0.0: if((gamestuff.ball_x + gamestuff.ball_radius) > gamestuff.paddle_x) and ((gamestuff.ball_x - gamestuff.ball_radius) < gamestuff.paddle_x+ gamestuff.paddle_w): gamestuff.ball_vy = -gamestuff.ball_vy gamestuff.ball_y = gamestuff.paddle_y-gamestuff.ball_radius def render(self): # Repaint the background self.screen.fill((128,128,128)) #Draw the paddle r = pygame.Rect(gamestuff.paddle_x, gamestuff.paddle_y, gamestuff.paddle_w, gamestuff.paddle_h ) pygame.draw.rect(self.screen, (255,255,255), r, 0) #Draw the ball pygame.draw.circle(self.screen, (128,0,0), (gamestuff.ball_x, gamestuff.ball_y), gamestuff.ball_radius, 0) pygame.display.flip() if __name__ == "__main__": game = core() while 1: game.loop() game.render()