tweaked spacing on win and lose screens
[naja.git] / naja / scenes / win.py
index c4a09a8727013c5c706ca6354e2f0fe7f4fce789..5acff6e5f8abde20029a5ffe21018e038c0d4f0d 100644 (file)
@@ -5,8 +5,10 @@ Win scene.
 import pygame.locals as pgl
 
 from naja.constants import KEYS, PALETTE
-from naja.events import QuitGameEvent
+from naja.events import SceneChangeEvent, LoadGameEvent
+from naja.sound import sound
 from naja.scenes.scene import Scene
+from naja.widgets.image_box import ImageBox
 from naja.widgets.text import TextWidget, TextBoxWidget
 
 
@@ -17,21 +19,35 @@ class WinScene(Scene):
 
     def __init__(self, state):
         super(WinScene, self).__init__(state)
-        self.add(TextWidget((50, 50), 'You won!', colour=PALETTE.WHITE))
+
+        background = ImageBox(
+            (0, 0), "screens/you_won.png")
+        self.add(background)
+
+        y_offset = 250
+
         if self.state.gameboard.has_cheated:
             self.add(TextWidget(
-                (50 + 64, 50), 'CHEATER!', colour=PALETTE.ORANGE))
+                (50, y_offset), 'But you\'re a CHEATER!', colour=PALETTE.ORANGE))
+            y_offset += 50
+
         self.add(TextBoxWidget(
-            (50, 100), '\n'.join([
+            (50, y_offset), '\n\n'.join([
                 "You're great.",
                 "You did well.",
                 "You should be proud of yourself.",
+                "Press ESC to return to the menu",
             ]),
             colour=PALETTE.WHITE, padding=1, border=1,
             bg_colour=PALETTE.BLACK, border_colour=PALETTE.BLACK,
             box_width=300))
+        sound.play_music('A_ninja.ogg', 0.25)
 
     def handle_scene_event(self, ev):
+        from naja.scenes.menu import MenuScene
         if ev.type == pgl.KEYDOWN and ev.key in KEYS.QUIT:
-            QuitGameEvent.post()
+            sound.stop()
+            # drop current state
+            LoadGameEvent.post(None)
+            SceneChangeEvent.post(MenuScene)
             return