Add exmine mode
[naja.git] / naja / scenes / game.py
1 """
2 Gameboard scene.
3 """
4
5 import pygame.locals as pgl
6
7 from naja.constants import KEYS
8 from naja.events import SceneChangeEvent
9 from naja.scenes.scene import Scene
10 from naja.widgets.board import BoardWidget
11 from naja.widgets.player_bits import PlayerBitsWidget
12 from naja.widgets.game_bits import GameBitsWidget
13 from naja.widgets.info_area import InfoAreaWidget
14 from naja.widgets.robot import RobotWidget
15
16
17 class GameScene(Scene):
18     """
19     Gameboard scene.
20     """
21
22     def __init__(self, state):
23         super(GameScene, self).__init__(state)
24         self.add(PlayerBitsWidget((0, 0), state))
25         info = InfoAreaWidget((480, 0), state)
26         self.add(BoardWidget((0, 60), state, info))
27         self.add(GameBitsWidget((0, 540), state))
28         self.add(info)
29         self.add(RobotWidget(state))
30
31     def handle_scene_event(self, ev):
32         from naja.scenes.menu import MenuScene
33         if ev.type == pgl.KEYDOWN and ev.key in KEYS.QUIT:
34             SceneChangeEvent.post(MenuScene)
35             return