# HG changeset patch # User Simon Cross # Date 1378038073 -7200 # Node ID fe1426d09074ea64618ba1fe89413b98f20a6b89 # Parent 17b233a546513922d9d4fd99e7bcd6bb23f98e1f# Parent 980339c28b42d536aeb09ab915922bd5c18c2fc1 Merge. diff -r 17b233a54651 -r fe1426d09074 nagslang/__main__.py --- a/nagslang/__main__.py Sun Sep 01 14:19:31 2013 +0200 +++ b/nagslang/__main__.py Sun Sep 01 14:21:13 2013 +0200 @@ -5,6 +5,7 @@ from nagslang.options import parse_args from nagslang.constants import SCREEN +from nagslang.engine import Engine def main(): @@ -15,3 +16,7 @@ pygame.display.set_mode(SCREEN, pgl.SWSURFACE) #pygame.display.set_icon(load_image(...)) pygame.display.set_caption('Nagslang') + + screen = pygame.display.get_surface() + engine = Engine(screen) + engine.run() diff -r 17b233a54651 -r fe1426d09074 nagslang/constants.py --- a/nagslang/constants.py Sun Sep 01 14:19:31 2013 +0200 +++ b/nagslang/constants.py Sun Sep 01 14:21:13 2013 +0200 @@ -1,5 +1,5 @@ SCREEN = (800, 600) - +FPS = 40 DEFAULTS = dict( debug=False, sound=True, diff -r 17b233a54651 -r fe1426d09074 nagslang/engine.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nagslang/engine.py Sun Sep 01 14:21:13 2013 +0200 @@ -0,0 +1,25 @@ +"""Top-level event dispatching and area transition.""" + +from pygame import event +from pygame import time +import pygame.locals as pyl + +from nagslang import constants + + +class Engine(object): + def __init__(self, screen): + self._screen = screen + self._clock = time.Clock() + self._fps = constants.FPS + + def run(self): + running = True + while running: + for ev in event.get(): + # TODO: dispatch these to an area + if ev.type == pyl.QUIT: + running = False + elif ev.type == pyl.KEYDOWN and ev.key == pyl.K_ESCAPE: + running = False + self._clock.tick(self._fps)