Mercurial > skaapsteker
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 |
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) |