Mercurial > rinkhals
comparison gamelib/engine.py @ 560:8cd13b82585e
Allow ESC to exit high score menu and then still exit game if pressed a second time.
author | Simon Cross <hodgestar@gmail.com> |
---|---|
date | Sat, 28 Nov 2009 18:27:59 +0000 |
parents | 296c73dcd286 |
children | a8dde729000a |
comparison
equal
deleted
inserted
replaced
559:b71b7fcf6dc1 | 560:8cd13b82585e |
---|---|
76 if events_equal(e, START_DAY): | 76 if events_equal(e, START_DAY): |
77 self.game.create_game_board() | 77 self.game.create_game_board() |
78 return DayState(self.game) | 78 return DayState(self.game) |
79 elif events_equal(e, GO_HELP_SCREEN): | 79 elif events_equal(e, GO_HELP_SCREEN): |
80 return HelpScreenState(self.game) | 80 return HelpScreenState(self.game) |
81 elif e.type is KEYDOWN: | |
82 if e.key == K_ESCAPE: | |
83 return Quit(self.game) | |
84 elif e.key == K_s: | |
85 self.game.create_game_board() | |
86 return DayState(self.game) | |
87 elif e.key == K_i: | |
88 return HelpScreenState(self.game) | |
89 elif e.type is DO_LOAD_LEVEL: | 81 elif e.type is DO_LOAD_LEVEL: |
90 self.game.load_new_level(e.level) | 82 self.game.load_new_level(e.level) |
91 return | 83 return |
92 elif e.type is DO_LOAD_SAVEGAME: | 84 elif e.type is DO_LOAD_SAVEGAME: |
93 self.game.switch_gameboard(e.gameboard) | 85 self.game.switch_gameboard(e.gameboard) |
94 e.gameboard.skip_next_start_day() | 86 e.gameboard.skip_next_start_day() |
95 return DayState(self.game) | 87 return DayState(self.game) |
96 elif e.type is not QUIT: | 88 |
97 self.game.main_app.event(e) | 89 self.game.main_app.event(e) |
98 | 90 |
99 def paint(self, screen): | 91 def paint(self, screen): |
100 screen.fill((0,0,0)) | 92 screen.fill((0,0,0)) |
101 self.game.main_app.paint(screen) | 93 self.game.main_app.paint(screen) |
102 pygame.display.flip() | 94 pygame.display.flip() |