- def __init__(self):
- super(GameScene, self).__init__()
- self.widgets.append(PlayerBitsWidget())
- self.widgets.append(BoardWidget())
- self.widgets.append(GameBitsWidget())
- self.widgets.append(InfoAreaWidget())
-
- def handle_event(self, ev):
- if ev.type == pgl.KEYUP and ev.key in (pgl.K_q, pgl.K_ESCAPE):
- SceneChangeEvent.post(scene=MenuScene())
- return
+ def __init__(self, state):
+ super(GameScene, self).__init__(state)
+ self.add(PlayerBitsWidget((0, 0), state))
+ info = InfoAreaWidget((480, 0), state)
+ self.add(BoardWidget((0, 60), state, info))
+ self.add(GameBitsWidget((0, 540), state))
+ self.add(info)
+ self.add(RobotWidget(state))
+ sound.play_sound('startup.ogg')
+ background_track = random.choice(TUNES)
+ sound.play_music(background_track, 0.25)
+
+ def handle_scene_event(self, ev):
+ from naja.scenes.menu import MenuScene
+ if ev.type == pgl.KEYDOWN:
+ if ev.key in KEYS.QUIT:
+ sound.stop()
+ SceneChangeEvent.post(MenuScene)
+ return
+ if options.cheat_enabled:
+ if ev.key == pgl.K_0:
+ self.state.player.bits.toggle_bit(0)
+ elif ev.key == pgl.K_1:
+ self.state.player.bits.toggle_bit(1)
+ elif ev.key == pgl.K_2:
+ self.state.player.bits.toggle_bit(2)
+ elif ev.key == pgl.K_3:
+ self.state.player.bits.toggle_bit(3)
+ elif ev.key == pgl.K_4:
+ self.state.player.bits.toggle_bit(4)
+ elif ev.key == pgl.K_5:
+ self.state.player.bits.toggle_bit(5)
+ elif ev.key == pgl.K_6:
+ self.state.player.bits.toggle_bit(6)
+ elif ev.key == pgl.K_7:
+ self.state.player.bits.toggle_bit(7)
+ elif ev.key == pgl.K_EQUALS:
+ self.state.gameboard.gain_health()
+ return finish_event()