Hook up a 'view level' scene to display most recently generated map
[koperkapel.git] / koperkapel / scenes / viewlevel.py
1 """Render a level and allow moving the scene"""
2
3 from pgzero.constants import keys
4 from .level import LevelScene
5 from ..constants import TILE_SIZE
6
7
8 class ViewLevelScene(LevelScene):
9     """ Level scene. """
10
11     def __init__(self, level_name):
12         super(ViewLevelScene, self).__init__(level_name)
13         self._pos = (0, 0)
14
15     def draw(self, screen):
16         super(ViewLevelScene, self).draw(screen, self._pos)
17
18     def on_key_down(self, key, mod, unicode):
19         if key == keys.DOWN:
20             self._pos = self._pos[0], self._pos[1] + TILE_SIZE
21             return
22         elif key == keys.UP:
23             self._pos = self._pos[0], self._pos[1] - TILE_SIZE
24             return
25         elif key == keys.LEFT:
26             self._pos = self._pos[0] - TILE_SIZE, self._pos[1]
27             return
28         elif key == keys.RIGHT:
29             self._pos = self._pos[0] + TILE_SIZE, self._pos[1]
30             return
31         return super(ViewLevelScene, self).on_key_down(key, mod, unicode)