comparison gamelib/engine.py @ 389:463802281182

Add basic level support (level choosing needs work)
author Neil Muller <drnlmuller@gmail.com>
date Thu, 29 Oct 2009 20:55:37 +0000
parents 25f7d4824250
children 2bcfccb8288e
comparison
equal deleted inserted replaced
388:c6f0e3e72e86 389:463802281182
7 import gameover 7 import gameover
8 import sound 8 import sound
9 import constants 9 import constants
10 import mainmenu 10 import mainmenu
11 import helpscreen 11 import helpscreen
12 import level
12 from misc import check_exit 13 from misc import check_exit
13 14
14 class Engine(Game): 15 class Engine(Game):
15 def __init__(self, main_app): 16 def __init__(self, main_app, level_name):
16 self.main_app = main_app 17 self.main_app = main_app
18 self.level = level.Level(level_name)
17 self.clock = pygame.time.Clock() 19 self.clock = pygame.time.Clock()
18 self.main_menu = mainmenu.make_main_menu() 20 self.main_menu = mainmenu.make_main_menu(self.level)
19 self._open_window = None 21 self._open_window = None
20 self.scoreboard = gameover.ScoreTable() 22 self.scoreboard = gameover.ScoreTable(self.level)
21 self.gameboard = None 23 self.gameboard = None
22 24
23 def tick(self): 25 def tick(self):
24 """Tic toc.""" 26 """Tic toc."""
25 pygame.time.wait(10) 27 pygame.time.wait(10)
31 self.main_app.open(window) 33 self.main_app.open(window)
32 self._open_window = window 34 self._open_window = window
33 35
34 def create_game_board(self): 36 def create_game_board(self):
35 """Create and open a gameboard window.""" 37 """Create and open a gameboard window."""
36 self.mode = self.main_menu.get_mode()
37 if not self.mode:
38 self.mode = constants.DEFAULT_MODE
39 self.gameboard = gameboard.GameBoard(self.main_app, 38 self.gameboard = gameboard.GameBoard(self.main_app,
40 constants.TURN_LIMITS[self.mode]) 39 self.level)
41 self.open_window(self.gameboard.get_top_widget()) 40 self.open_window(self.gameboard.get_top_widget())
42 41
43 def set_main_menu(self): 42 def set_main_menu(self):
44 """Open the main menu""" 43 """Open the main menu"""
45 self.open_window(self.main_menu) 44 self.open_window(self.main_menu)
50 self.open_window(help_screen) 49 self.open_window(help_screen)
51 50
52 def create_game_over(self): 51 def create_game_over(self):
53 """Create and open the Game Over window""" 52 """Create and open the Game Over window"""
54 game_over = gameover.create_game_over(self.gameboard, 53 game_over = gameover.create_game_over(self.gameboard,
55 self.scoreboard[self.mode], self.mode) 54 self.scoreboard[self.level.level_name], self.level)
56 self.gameboard = None 55 self.gameboard = None
57 self.open_window(game_over) 56 self.open_window(game_over)
58 57
59 def event(self, e): 58 def event(self, e):
60 if not Game.event(self, e): 59 if not Game.event(self, e):