How hard? Nintendo hard! (also: that's what she said)
[naja.git] / naja / scenes / new_game.py
index dca7c67eb9c3ca908d512251bb855fed067d5eba..29d0f546f8b26d4385d5e4a5d6327e779efe55bd 100644 (file)
@@ -8,6 +8,7 @@ from naja.constants import KEYS
 from naja.events import SceneChangeEvent, LoadGameEvent
 from naja.gamestate import GameState
 from naja.scenes.scene import Scene
+from naja.widgets.image_box import ImageBox
 from naja.widgets.selector import SelectorWidget
 from naja.widgets.text import TextWidget
 
@@ -15,28 +16,64 @@ from naja.widgets.text import TextWidget
 class NewGameScene(Scene):
     def __init__(self, state):
         super(NewGameScene, self).__init__(state)
+
+        background = ImageBox(
+            (0, 0), "screens/splash.png")
+        self.add(background)
+
         selector = SelectorWidget()
+        selector.position = 1
         self.add(selector)
 
-        title = TextWidget((100, 50), 'Select difficulty', colour='white')
+        y_offset, y_diff = 270, 40
+        x_offset = 400
+
+        y_offset += y_diff
+        title = TextWidget(
+            (x_offset, y_offset), 'NEW GAME', colour='white',
+            centre=True)
         self.add(title)
 
-        easy = TextWidget((200, 150), 'Easy', fontsize=32, colour='white')
+        y_offset += y_diff
+        question = TextWidget(
+            (x_offset, y_offset), 'Select difficulty:', colour='white',
+            centre=True)
+        self.add(question)
+
+        y_offset += y_diff
+        easy = TextWidget(
+            (x_offset, y_offset), 'Easy', fontsize=32, colour='white',
+            centre=True)
         easy.add_callback('click', self.easy_game)
         selector.add(easy)
 
+        y_offset += y_diff
         standard = TextWidget(
-            (200, 200), 'Standard', fontsize=32, colour='white')
+            (x_offset, y_offset), 'Standard', fontsize=32, colour='white',
+            centre=True)
         standard.add_callback('click', self.standard_game)
         selector.add(standard)
 
-        hard = TextWidget((200, 250), 'Hard', fontsize=32, colour='white')
+        y_offset += y_diff
+        hard = TextWidget(
+            (x_offset, y_offset), 'Hard', fontsize=32, colour='white',
+            centre=True)
         hard.add_callback('click', self.hard_game)
         selector.add(hard)
 
-        puzzle = TextWidget((200, 300), 'Puzzle', fontsize=32, colour='white')
-        puzzle.add_callback('click', self.puzzle_game)
-        selector.add(puzzle)
+        y_offset += y_diff
+        very_hard = TextWidget(
+            (x_offset, y_offset), 'Very Hard', fontsize=32, colour='white',
+            centre=True)
+        very_hard.add_callback('click', self.very_hard_game)
+        selector.add(very_hard)
+
+        y_offset += y_diff
+        nintendo = TextWidget(
+            (x_offset, y_offset), 'NINTENDO Hard', fontsize=32, colour='white',
+            centre=True)
+        nintendo.add_callback('click', self.nintendo_hard_game)
+        selector.add(nintendo)
 
     def easy_game(self, event):
         self.start_game(GameState.new(max_health=5, wins_required=3))
@@ -47,9 +84,11 @@ class NewGameScene(Scene):
     def hard_game(self, event):
         self.start_game(GameState.new(max_health=3, wins_required=5))
 
-    def puzzle_game(self, event):
-        self.start_game(GameState.new(
-            deck='test_puzzle', max_health=4, wins_required=4))
+    def very_hard_game(self, event):
+        self.start_game(GameState.new(max_health=2, wins_required=6))
+
+    def nintendo_hard_game(self, event):
+        self.start_game(GameState.new(max_health=1, wins_required=7))
 
     def start_game(self, state):
         from naja.scenes.game import GameScene