PageRenderTime 50ms CodeModel.GetById 26ms RepoModel.GetById 0ms app.codeStats 0ms

/python/game.py

https://github.com/arnaudjbernard/boidzgame-proto
Python | 49 lines | 36 code | 13 blank | 0 comment | 10 complexity | 20d1be02bdc7c72d6f06489df61f1a72 MD5 | raw file
  1. import pygame
  2. from pygame.locals import *
  3. from ticker import Ticker
  4. from renderer import Renderer
  5. from gameplay import *
  6. class Game(object):
  7. def __init__(self):
  8. Game.instance = self
  9. pygame.init()
  10. self.clock = pygame.time.Clock()
  11. WINSIZE = [640, 480]
  12. self.screen = pygame.display.set_mode(WINSIZE)
  13. pygame.display.set_caption('Bli bli bli')
  14. black = 0, 0, 0
  15. self.screen.fill(black)
  16. self.framedelay = 40
  17. play()
  18. def start(self):
  19. for renderer in Renderer.instances:
  20. renderer.draw(self.framedelay, self.screen)
  21. running = True
  22. while running:
  23. for ticker in Ticker.instances:
  24. ticker.onTick(self.framedelay)
  25. for renderer in Renderer.instances:
  26. renderer.clear(self.framedelay, self.screen)
  27. for renderer in Renderer.instances:
  28. renderer.draw(self.framedelay, self.screen)
  29. pygame.display.update()
  30. for e in pygame.event.get():
  31. if e.type == QUIT or (e.type == KEYUP and e.key == K_ESCAPE):
  32. running = False
  33. self.clock.tick(self.framedelay)
  34. pygame.display.quit()
  35. if __name__ == '__main__':
  36. Game().start()