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