"""
import pygame.locals as pgl
+import random
-from naja.events import SceneChangeEvent
+from naja.constants import KEYS, TUNES
+from naja.events import SceneChangeEvent, finish_event
+from naja.options import options
from naja.scenes.scene import Scene
+from naja.sound import sound
from naja.widgets.board import BoardWidget
from naja.widgets.player_bits import PlayerBitsWidget
from naja.widgets.game_bits import GameBitsWidget
def __init__(self, state):
super(GameScene, self).__init__(state)
self.add(PlayerBitsWidget((0, 0), state))
- self.add(BoardWidget((0, 60), state))
+ info = InfoAreaWidget((480, 0), state)
+ self.add(BoardWidget((0, 60), state, info))
self.add(GameBitsWidget((0, 540), state))
- self.add(InfoAreaWidget((480, 0), 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.KEYUP and ev.key in (pgl.K_q, pgl.K_ESCAPE):
- SceneChangeEvent.post(MenuScene)
- return
+ 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()