annotate skaapsteker/engine.py @ 11:249814efa91b

Create game engine. Enable quitting.
author Simon Cross <hodgestar@gmail.com>
date Sun, 03 Apr 2011 15:59:16 +0200
parents
children fb1bd081cc86
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
11
249814efa91b Create game engine. Enable quitting.
Simon Cross <hodgestar@gmail.com>
parents:
diff changeset
1 """Top-level engine for switching scenes."""
249814efa91b Create game engine. Enable quitting.
Simon Cross <hodgestar@gmail.com>
parents:
diff changeset
2
249814efa91b Create game engine. Enable quitting.
Simon Cross <hodgestar@gmail.com>
parents:
diff changeset
3 import pygame.display
249814efa91b Create game engine. Enable quitting.
Simon Cross <hodgestar@gmail.com>
parents:
diff changeset
4 import pygame.time
249814efa91b Create game engine. Enable quitting.
Simon Cross <hodgestar@gmail.com>
parents:
diff changeset
5 import pygame.event
249814efa91b Create game engine. Enable quitting.
Simon Cross <hodgestar@gmail.com>
parents:
diff changeset
6 from pygame.locals import QUIT
249814efa91b Create game engine. Enable quitting.
Simon Cross <hodgestar@gmail.com>
parents:
diff changeset
7
249814efa91b Create game engine. Enable quitting.
Simon Cross <hodgestar@gmail.com>
parents:
diff changeset
8 class Engine(object):
249814efa91b Create game engine. Enable quitting.
Simon Cross <hodgestar@gmail.com>
parents:
diff changeset
9
249814efa91b Create game engine. Enable quitting.
Simon Cross <hodgestar@gmail.com>
parents:
diff changeset
10 def __init__(self):
249814efa91b Create game engine. Enable quitting.
Simon Cross <hodgestar@gmail.com>
parents:
diff changeset
11 self._framerate = 60
249814efa91b Create game engine. Enable quitting.
Simon Cross <hodgestar@gmail.com>
parents:
diff changeset
12
249814efa91b Create game engine. Enable quitting.
Simon Cross <hodgestar@gmail.com>
parents:
diff changeset
13 def run(self):
249814efa91b Create game engine. Enable quitting.
Simon Cross <hodgestar@gmail.com>
parents:
diff changeset
14 """Run the game loop dispatching events as necessary."""
249814efa91b Create game engine. Enable quitting.
Simon Cross <hodgestar@gmail.com>
parents:
diff changeset
15 clock = pygame.time.Clock()
249814efa91b Create game engine. Enable quitting.
Simon Cross <hodgestar@gmail.com>
parents:
diff changeset
16 while True:
249814efa91b Create game engine. Enable quitting.
Simon Cross <hodgestar@gmail.com>
parents:
diff changeset
17 events = pygame.event.get()
249814efa91b Create game engine. Enable quitting.
Simon Cross <hodgestar@gmail.com>
parents:
diff changeset
18 for ev in events:
249814efa91b Create game engine. Enable quitting.
Simon Cross <hodgestar@gmail.com>
parents:
diff changeset
19 if ev.type is QUIT:
249814efa91b Create game engine. Enable quitting.
Simon Cross <hodgestar@gmail.com>
parents:
diff changeset
20 return
249814efa91b Create game engine. Enable quitting.
Simon Cross <hodgestar@gmail.com>
parents:
diff changeset
21 clock.tick(self._framerate)