Mercurial > boomslang
diff pyntnclick/main.py @ 599:2d2ea51b73ad pyntnclick
Move menu.py and endscreen.py to gamelib. Add default versions for new games
author | Neil Muller <neil@dip.sun.ac.za> |
---|---|
date | Sat, 11 Feb 2012 18:46:19 +0200 |
parents | c1b5e982809b |
children | fabce47e542f |
line wrap: on
line diff
--- a/pyntnclick/main.py Sat Feb 11 18:31:56 2012 +0200 +++ b/pyntnclick/main.py Sat Feb 11 18:46:19 2012 +0200 @@ -16,9 +16,7 @@ from pygame.locals import SWSURFACE from albow.shell import Shell -from pyntnclick.menu import MenuScreen -from pyntnclick.gamescreen import GameScreen -from pyntnclick.endscreen import EndScreen +from pyntnclick.gamescreen import GameScreen, DefMenuScreen, DefEndScreen from pyntnclick.constants import GameConstants, DEBUG_ENVVAR from pyntnclick.resources import Resources from pyntnclick.sound import Sound @@ -29,11 +27,18 @@ class MainShell(Shell): - def __init__(self, display, game_description): + # Should we allow the menu not to be the opening screen? + def __init__(self, display, game_description, menu_screen, end_screen): Shell.__init__(self, display) - self.menu_screen = MenuScreen(self, game_description) + if menu_screen: + self.menu_screen = menu_screen(self, game_description) + else: + self.menu_screen = DefMenuScreen(self, game_description) self.game_screen = GameScreen(self, game_description) - self.end_screen = EndScreen(self, game_description) + if end_screen: + self.end_screen = end_screen(self, game_description) + else: + self.end_screen = DefEndScreen(self, game_description) self.set_timer(game_description.constants.frame_rate) self.show_screen(self.menu_screen) @@ -50,6 +55,13 @@ # list of game scenes SCENE_LIST = None + # starting menu + MENU_SCREEN = None + + # game over screen + END_SCREEN = None + + # resource module RESOURCE_MODULE = "Resources" @@ -154,7 +166,8 @@ 'suspended_sentence24x24.png', basedir='icons')) pygame.display.set_caption("Suspended Sentence") - shell = MainShell(display, self) + shell = MainShell(display, self, self.MENU_SCREEN, + self.END_SCREEN) try: shell.run() except KeyboardInterrupt: