Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import sys
- import pygame
- import pymunk
- import colors
- import const
- import helper
- from pygame.locals import *
- from pymunk import pygame_util
- from ball import Ball
- from paddle import Paddle
- class Game():
- FPS = 60
- def __init__(self):
- self.screen = pygame.display.get_surface()
- self.background = self.screen.copy()
- self.clock = pygame.time.Clock()
- self.sprites = helper.Group()
- self.space = pymunk.Space()
- self.ball = Ball(self.space, (400, 20))
- self.paddle = Paddle(self.space, (40, 250))
- self.sprites.add(self.ball)
- self.sprites.add(self.paddle)
- self.walls = [
- self._create_wall((0, const.SCREEN_HEIGHT), (0, 0)),
- self._create_wall((const.SCREEN_WIDTH - 1, const.SCREEN_HEIGHT),
- (const.SCREEN_WIDTH - 1, 0)),
- self._create_wall((0, const.SCREEN_HEIGHT),
- (const.SCREEN_WIDTH, const.SCREEN_HEIGHT)),
- self._create_wall((0, 1), (const.SCREEN_WIDTH, 1))]
- self.space.add(self.walls)
- def _create_wall(self, from_, to):
- segment = pymunk.Segment(self.space.static_body,
- from_, to, 1)
- segment.elasticity = 1.
- return segment
- def main(self):
- self.background.fill(colors.BLACK)
- while True:
- dt = self.clock.tick(Game.FPS) / 1000.
- for event in pygame.event.get():
- if event.type == QUIT or (event.type == KEYDOWN and
- event.key == K_ESCAPE):
- pygame.quit()
- sys.exit()
- pygame.display.flip()
- self.update(dt)
- self.draw()
- def update(self, dt):
- self.space.step(1./Game.FPS)
- self.sprites.update(dt)
- print(self.ball.body.velocity)
- print(self.paddle.body.velocity)
- def draw(self):
- self.screen.blit(self.background, (0, 0))
- #self.sprites.draw(self.screen)
- pygame_util.draw(self.screen, self.space)
Advertisement
Add Comment
Please, Sign In to add comment