Guest User

game.py

a guest
Nov 21st, 2014
335
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.08 KB | None | 0 0
  1. import sys
  2. import pygame
  3. import pymunk
  4. import colors
  5. import const
  6. import helper
  7.  
  8. from pygame.locals import *
  9. from pymunk import pygame_util
  10. from ball import Ball
  11. from paddle import Paddle
  12.  
  13. class Game():
  14.  
  15.     FPS = 60
  16.  
  17.     def __init__(self):
  18.         self.screen = pygame.display.get_surface()
  19.         self.background = self.screen.copy()
  20.         self.clock = pygame.time.Clock()
  21.         self.sprites = helper.Group()
  22.         self.space = pymunk.Space()
  23.  
  24.         self.ball = Ball(self.space, (400, 20))
  25.         self.paddle = Paddle(self.space, (40, 250))
  26.         self.sprites.add(self.ball)
  27.         self.sprites.add(self.paddle)
  28.  
  29.         self.walls = [
  30.             self._create_wall((0, const.SCREEN_HEIGHT), (0, 0)),
  31.             self._create_wall((const.SCREEN_WIDTH - 1, const.SCREEN_HEIGHT),
  32.                               (const.SCREEN_WIDTH - 1, 0)),
  33.             self._create_wall((0, const.SCREEN_HEIGHT),
  34.                           (const.SCREEN_WIDTH, const.SCREEN_HEIGHT)),
  35.             self._create_wall((0, 1), (const.SCREEN_WIDTH, 1))]
  36.  
  37.         self.space.add(self.walls)
  38.  
  39.     def _create_wall(self, from_, to):
  40.         segment = pymunk.Segment(self.space.static_body,
  41.                                  from_, to, 1)
  42.         segment.elasticity = 1.
  43.         return segment
  44.  
  45.     def main(self):
  46.         self.background.fill(colors.BLACK)
  47.         while True:
  48.  
  49.             dt = self.clock.tick(Game.FPS) / 1000.
  50.  
  51.             for event in pygame.event.get():
  52.                 if event.type == QUIT or (event.type == KEYDOWN and
  53.                     event.key == K_ESCAPE):
  54.                     pygame.quit()
  55.                     sys.exit()
  56.  
  57.             pygame.display.flip()
  58.             self.update(dt)
  59.             self.draw()
  60.  
  61.     def update(self, dt):
  62.         self.space.step(1./Game.FPS)
  63.         self.sprites.update(dt)
  64.         print(self.ball.body.velocity)
  65.         print(self.paddle.body.velocity)
  66.  
  67.     def draw(self):
  68.         self.screen.blit(self.background, (0, 0))
  69.         #self.sprites.draw(self.screen)
  70.         pygame_util.draw(self.screen, self.space)
Advertisement
Add Comment
Please, Sign In to add comment