Mercurial > rinkhals
comparison gamelib/engine.py @ 469:e0b11d684ee8
Reference gameboard.level rather than game.level where appropriate. Saving and restoring games appears to largely work now (even if the level of the restored game is different to the current one).
author | Simon Cross <hodgestar@gmail.com> |
---|---|
date | Tue, 24 Nov 2009 22:19:53 +0000 |
parents | 2b4cd86dfcaf |
children | 393e30ea0165 |
comparison
equal
deleted
inserted
replaced
468:d5e4959cfe7a | 469:e0b11d684ee8 |
---|---|
59 level_screen, self.level_loader = loadlevel.make_load_screen(self.level) | 59 level_screen, self.level_loader = loadlevel.make_load_screen(self.level) |
60 self.open_window(level_screen) | 60 self.open_window(level_screen) |
61 | 61 |
62 def create_game_over(self): | 62 def create_game_over(self): |
63 """Create and open the Game Over window""" | 63 """Create and open the Game Over window""" |
64 level = self.gameboard.level | |
64 game_over = gameover.create_game_over(self.gameboard, | 65 game_over = gameover.create_game_over(self.gameboard, |
65 self.scoreboard[self.level.level_name], self.level) | 66 self.scoreboard[level.level_name], level) |
66 self.gameboard = None | 67 self.gameboard = None |
67 self.open_window(game_over) | 68 self.open_window(game_over) |
68 | 69 |
69 def event(self, e): | 70 def event(self, e): |
70 if not Game.event(self, e): | 71 if not Game.event(self, e): |
231 self.game.gameboard.reset_states() | 232 self.game.gameboard.reset_states() |
232 return GameOver(self.game) | 233 return GameOver(self.game) |
233 self.dialog=None | 234 self.dialog=None |
234 return | 235 return |
235 if events_equal(e, START_DAY): | 236 if events_equal(e, START_DAY): |
236 if self.game.level.is_game_over(self.game.gameboard): | 237 if self.game.gameboard.level.is_game_over(self.game.gameboard): |
237 return GameOver(self.game) | 238 return GameOver(self.game) |
238 return DayState(self.game) | 239 return DayState(self.game) |
239 elif (e.type is KEYDOWN and e.key == K_d) or \ | 240 elif (e.type is KEYDOWN and e.key == K_d) or \ |
240 events_equal(e, FAST_FORWARD): | 241 events_equal(e, FAST_FORWARD): |
241 if self.cycle_time > FAST__SPEED: | 242 if self.cycle_time > FAST__SPEED: |