All pastes #790196 Raw Edit

Unnamed

public text v1 · immutable
·published 2007-11-20 04:36 UTC
rendered paste body
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()