Win and lose screens and conditions.
[naja.git] / naja / scenes / lose.py
diff --git a/naja/scenes/lose.py b/naja/scenes/lose.py
new file mode 100644 (file)
index 0000000..e72d5f4
--- /dev/null
@@ -0,0 +1,35 @@
+"""
+Lose scene.
+"""
+
+import pygame.locals as pgl
+
+from naja.constants import KEYS
+from naja.scenes.scene import Scene
+from naja.widgets.text import TextWidget, TextBoxWidget
+from naja.events import QuitGameEvent
+
+
+class LoseScene(Scene):
+    """
+    Commiserations.
+    """
+
+    def __init__(self, state):
+        super(LoseScene, self).__init__(state)
+        self.add(TextWidget(
+            (480, 160), 'You lost!', fontsize=32, colour='white'))
+        self.add(TextBoxWidget(
+            (120, 30), '\n'.join([
+                "You're not so great.",
+                "You did poorly.",
+                "You shouldn't be proud of yourself.",
+            ]), fontsize=32,
+            colour='white', padding=1, border=1,
+            bg_colour='black', border_colour='black',
+            box_width=100))
+
+    def handle_scene_event(self, ev):
+        if ev.type == pgl.KEYDOWN and ev.key in KEYS.QUIT:
+            QuitGameEvent.post()
+            return