annotate gamelib/menu.py @ 100:b5b6cbf556e6

Make start new game start a new game. Add Resume to main menu
author Neil Muller <neil@dip.sun.ac.za>
date Tue, 24 Aug 2010 08:48:50 +0200
parents c76f2fad2af5
children 97322b78d1c1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
17
55f1969e41c9 Add simple menu screen
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
1 # menu.py
55f1969e41c9 Add simple menu screen
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
2 # Copyright Boomslang team, 2010 (see COPYING File)
55f1969e41c9 Add simple menu screen
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
3 # Main menu for the game
55f1969e41c9 Add simple menu screen
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
4
55f1969e41c9 Add simple menu screen
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
5 from albow.screen import Screen
55f1969e41c9 Add simple menu screen
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
6 from albow.controls import Button, Label
55f1969e41c9 Add simple menu screen
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
7 from albow.layout import Column
55f1969e41c9 Add simple menu screen
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
8
84
c76f2fad2af5 Draw CursorWidget on top of StateWidget
Stefano Rivera <stefano@rivera.za.net>
parents: 66
diff changeset
9 class MenuScreen(Screen):
19
87f8a46b88af Fix indentation
Neil Muller <neil@dip.sun.ac.za>
parents: 17
diff changeset
10 def __init__(self, shell):
84
c76f2fad2af5 Draw CursorWidget on top of StateWidget
Stefano Rivera <stefano@rivera.za.net>
parents: 66
diff changeset
11 Screen.__init__(self, shell)
24
9d5de13e2ac3 Add a game screen. So far, the game content looks a *lot* like the main menu.
Jeremy Thurgood <firxen@gmail.com>
parents: 19
diff changeset
12 StartButton = Button('Start New Game', action = self.start)
100
b5b6cbf556e6 Make start new game start a new game. Add Resume to main menu
Neil Muller <neil@dip.sun.ac.za>
parents: 84
diff changeset
13 ResumeButton = Button('Resume Game', action = self.resume,
b5b6cbf556e6 Make start new game start a new game. Add Resume to main menu
Neil Muller <neil@dip.sun.ac.za>
parents: 84
diff changeset
14 enable=self.check_running)
19
87f8a46b88af Fix indentation
Neil Muller <neil@dip.sun.ac.za>
parents: 17
diff changeset
15 QuitButton = Button('Quit', action = shell.quit)
50
414910c415a2 Fix title in menu
Neil Muller <neil@dip.sun.ac.za>
parents: 34
diff changeset
16 Title = Label('Suspended Sentence')
19
87f8a46b88af Fix indentation
Neil Muller <neil@dip.sun.ac.za>
parents: 17
diff changeset
17 menu = Column([
87f8a46b88af Fix indentation
Neil Muller <neil@dip.sun.ac.za>
parents: 17
diff changeset
18 Title,
87f8a46b88af Fix indentation
Neil Muller <neil@dip.sun.ac.za>
parents: 17
diff changeset
19 StartButton,
100
b5b6cbf556e6 Make start new game start a new game. Add Resume to main menu
Neil Muller <neil@dip.sun.ac.za>
parents: 84
diff changeset
20 ResumeButton,
19
87f8a46b88af Fix indentation
Neil Muller <neil@dip.sun.ac.za>
parents: 17
diff changeset
21 QuitButton,
87f8a46b88af Fix indentation
Neil Muller <neil@dip.sun.ac.za>
parents: 17
diff changeset
22 ], align='l', spacing=20)
87f8a46b88af Fix indentation
Neil Muller <neil@dip.sun.ac.za>
parents: 17
diff changeset
23 self.add_centered(menu)
17
55f1969e41c9 Add simple menu screen
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
24
19
87f8a46b88af Fix indentation
Neil Muller <neil@dip.sun.ac.za>
parents: 17
diff changeset
25 def start(self):
100
b5b6cbf556e6 Make start new game start a new game. Add Resume to main menu
Neil Muller <neil@dip.sun.ac.za>
parents: 84
diff changeset
26 self.shell.game_screen.start_game()
24
9d5de13e2ac3 Add a game screen. So far, the game content looks a *lot* like the main menu.
Jeremy Thurgood <firxen@gmail.com>
parents: 19
diff changeset
27 self.shell.show_screen(self.shell.game_screen)
17
55f1969e41c9 Add simple menu screen
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
28
100
b5b6cbf556e6 Make start new game start a new game. Add Resume to main menu
Neil Muller <neil@dip.sun.ac.za>
parents: 84
diff changeset
29 def check_running(self):
b5b6cbf556e6 Make start new game start a new game. Add Resume to main menu
Neil Muller <neil@dip.sun.ac.za>
parents: 84
diff changeset
30 return self.shell.game_screen.running
17
55f1969e41c9 Add simple menu screen
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
31
100
b5b6cbf556e6 Make start new game start a new game. Add Resume to main menu
Neil Muller <neil@dip.sun.ac.za>
parents: 84
diff changeset
32 def resume(self):
b5b6cbf556e6 Make start new game start a new game. Add Resume to main menu
Neil Muller <neil@dip.sun.ac.za>
parents: 84
diff changeset
33 if self.shell.game_screen.running:
b5b6cbf556e6 Make start new game start a new game. Add Resume to main menu
Neil Muller <neil@dip.sun.ac.za>
parents: 84
diff changeset
34 self.shell.show_screen(self.shell.game_screen)
b5b6cbf556e6 Make start new game start a new game. Add Resume to main menu
Neil Muller <neil@dip.sun.ac.za>
parents: 84
diff changeset
35
b5b6cbf556e6 Make start new game start a new game. Add Resume to main menu
Neil Muller <neil@dip.sun.ac.za>
parents: 84
diff changeset
36
b5b6cbf556e6 Make start new game start a new game. Add Resume to main menu
Neil Muller <neil@dip.sun.ac.za>
parents: 84
diff changeset
37