annotate mamba/engine.py @ 12:0196455fa432

Minimal event loop.
author Simon Cross <hodgestar@gmail.com>
date Sun, 11 Sep 2011 13:11:52 +0200
parents 621a04bf1feb
children f5846a46e9c5
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12
0196455fa432 Minimal event loop.
Simon Cross <hodgestar@gmail.com>
parents: 6
diff changeset
1 """Game engine and top-level game loop."""
0196455fa432 Minimal event loop.
Simon Cross <hodgestar@gmail.com>
parents: 6
diff changeset
2
0196455fa432 Minimal event loop.
Simon Cross <hodgestar@gmail.com>
parents: 6
diff changeset
3 import pygame.event
0196455fa432 Minimal event loop.
Simon Cross <hodgestar@gmail.com>
parents: 6
diff changeset
4 import pygame.display
0196455fa432 Minimal event loop.
Simon Cross <hodgestar@gmail.com>
parents: 6
diff changeset
5 from pygame.locals import QUIT
0196455fa432 Minimal event loop.
Simon Cross <hodgestar@gmail.com>
parents: 6
diff changeset
6
0196455fa432 Minimal event loop.
Simon Cross <hodgestar@gmail.com>
parents: 6
diff changeset
7
0196455fa432 Minimal event loop.
Simon Cross <hodgestar@gmail.com>
parents: 6
diff changeset
8 class Engine(object):
0196455fa432 Minimal event loop.
Simon Cross <hodgestar@gmail.com>
parents: 6
diff changeset
9 def __init__(self):
0196455fa432 Minimal event loop.
Simon Cross <hodgestar@gmail.com>
parents: 6
diff changeset
10 pass
0196455fa432 Minimal event loop.
Simon Cross <hodgestar@gmail.com>
parents: 6
diff changeset
11
0196455fa432 Minimal event loop.
Simon Cross <hodgestar@gmail.com>
parents: 6
diff changeset
12 def run(self):
0196455fa432 Minimal event loop.
Simon Cross <hodgestar@gmail.com>
parents: 6
diff changeset
13 """Game loop."""
0196455fa432 Minimal event loop.
Simon Cross <hodgestar@gmail.com>
parents: 6
diff changeset
14 get_events = pygame.event.get
0196455fa432 Minimal event loop.
Simon Cross <hodgestar@gmail.com>
parents: 6
diff changeset
15 flip = pygame.display.flip
0196455fa432 Minimal event loop.
Simon Cross <hodgestar@gmail.com>
parents: 6
diff changeset
16 while True:
0196455fa432 Minimal event loop.
Simon Cross <hodgestar@gmail.com>
parents: 6
diff changeset
17 events = get_events()
0196455fa432 Minimal event loop.
Simon Cross <hodgestar@gmail.com>
parents: 6
diff changeset
18 for ev in events:
0196455fa432 Minimal event loop.
Simon Cross <hodgestar@gmail.com>
parents: 6
diff changeset
19 if ev.type is QUIT:
0196455fa432 Minimal event loop.
Simon Cross <hodgestar@gmail.com>
parents: 6
diff changeset
20 return
0196455fa432 Minimal event loop.
Simon Cross <hodgestar@gmail.com>
parents: 6
diff changeset
21 flip()