changeset 16:fe1426d09074

Merge.
author Simon Cross <hodgestar@gmail.com>
date Sun, 01 Sep 2013 14:21:13 +0200
parents 17b233a54651 (current diff) 980339c28b42 (diff)
children b0644173d0aa
files nagslang/constants.py
diffstat 3 files changed, 31 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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()
--- 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,
--- /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)