Mercurial > rinkhals
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): |