comparison gamelib/engine.py @ 349:a36ab7dd0eb9

Fix 'Are You Sure?' dialog to work at night
author Neil Muller <drnlmuller@gmail.com>
date Sat, 05 Sep 2009 23:18:27 +0000
parents 6baf8b5beb5c
children 25f7d4824250
comparison
equal deleted inserted replaced
348:e61f95503461 349:a36ab7dd0eb9
184 pygame.time.set_timer(ANIM_ID, self.cycle_time) 184 pygame.time.set_timer(ANIM_ID, self.cycle_time)
185 self.game.gameboard.spawn_foxes() 185 self.game.gameboard.spawn_foxes()
186 sound.background_music("nighttime.ogg") 186 sound.background_music("nighttime.ogg")
187 187
188 self.game.gameboard.lay_eggs() 188 self.game.gameboard.lay_eggs()
189 189 self.dialog = None
190 def event(self, e): 190
191 def event(self, e):
192 if self.dialog and self.dialog.running:
193 if self.dialog.event(e):
194 return
195 elif self.dialog:
196 if self.dialog.do_quit:
197 self.dialog = None
198 self.game.gameboard.reset_states()
199 return GameOver(self.game)
200 self.dialog=None
201 return
191 if events_equal(e, START_DAY): 202 if events_equal(e, START_DAY):
192 if self.game.gameboard.is_game_over(): 203 if self.game.gameboard.is_game_over():
193 return GameOver(self.game) 204 return GameOver(self.game)
194 return DayState(self.game) 205 return DayState(self.game)
195 elif (e.type is KEYDOWN and e.key == K_d) or \ 206 elif (e.type is KEYDOWN and e.key == K_d) or \
199 else: 210 else:
200 self.cycle_time = SLOW_ANIM_SPEED 211 self.cycle_time = SLOW_ANIM_SPEED
201 pygame.time.set_timer(ANIM_ID, self.cycle_time) 212 pygame.time.set_timer(ANIM_ID, self.cycle_time)
202 pygame.time.set_timer(MOVE_FOX_ID, 4*self.cycle_time) 213 pygame.time.set_timer(MOVE_FOX_ID, 4*self.cycle_time)
203 elif e.type is KEYDOWN and e.key == K_ESCAPE: 214 elif e.type is KEYDOWN and e.key == K_ESCAPE:
204 if check_dialog(self.game.main_app): 215 self.dialog = check_exit()
205 self.game.gameboard.reset_states()
206 return GameOver(self.game)
207 elif e.type is ANIM_ID: 216 elif e.type is ANIM_ID:
208 self.game.gameboard.run_animations() 217 self.game.gameboard.run_animations()
209 elif e.type is MOVE_FOX_ID: 218 elif e.type is MOVE_FOX_ID:
210 # Timer aren't nessecairly ordered, so we make sure 219 # Timer aren't nessecairly ordered, so we make sure
211 # we don't get a ANIM event until at least cycle after this 220 # we don't get a ANIM event until at least cycle after this