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: