5 import pygame.locals as pgl
7 from naja.constants import KEYS
8 from naja.events import SceneChangeEvent, finish_event
9 from naja.options import options
10 from naja.scenes.scene import Scene
11 from naja.sound import sound
12 from naja.widgets.board import BoardWidget
13 from naja.widgets.player_bits import PlayerBitsWidget
14 from naja.widgets.game_bits import GameBitsWidget
15 from naja.widgets.info_area import InfoAreaWidget
16 from naja.widgets.robot import RobotWidget
19 class GameScene(Scene):
24 def __init__(self, state):
25 super(GameScene, self).__init__(state)
26 self.add(PlayerBitsWidget((0, 0), state))
27 info = InfoAreaWidget((480, 0), state)
28 self.add(BoardWidget((0, 60), state, info))
29 self.add(GameBitsWidget((0, 540), state))
31 self.add(RobotWidget(state))
32 sound.play_sound('startup.ogg')
34 def handle_scene_event(self, ev):
35 from naja.scenes.menu import MenuScene
36 if ev.type == pgl.KEYDOWN:
37 if ev.key in KEYS.QUIT:
38 SceneChangeEvent.post(MenuScene)
40 if options.cheat_enabled:
42 self.state.player.bits.toggle_bit(0)
43 elif ev.key == pgl.K_1:
44 self.state.player.bits.toggle_bit(1)
45 elif ev.key == pgl.K_2:
46 self.state.player.bits.toggle_bit(2)
47 elif ev.key == pgl.K_3:
48 self.state.player.bits.toggle_bit(3)
49 elif ev.key == pgl.K_4:
50 self.state.player.bits.toggle_bit(4)
51 elif ev.key == pgl.K_5:
52 self.state.player.bits.toggle_bit(5)
53 elif ev.key == pgl.K_6:
54 self.state.player.bits.toggle_bit(6)
55 elif ev.key == pgl.K_7:
56 self.state.player.bits.toggle_bit(7)