Mercurial > rinkhals
comparison gamelib/engine.py @ 202:3074784c93f4
Animation support
author | Neil Muller <drnlmuller@gmail.com> |
---|---|
date | Fri, 04 Sep 2009 20:23:30 +0000 |
parents | 2b9176c35397 |
children | 653da96db572 |
comparison
equal
deleted
inserted
replaced
201:fe1e9c18d4d7 | 202:3074784c93f4 |
---|---|
108 self.game.gameboard.tv.sun(True) | 108 self.game.gameboard.tv.sun(True) |
109 | 109 |
110 sound.play_sound("daybreak.ogg") | 110 sound.play_sound("daybreak.ogg") |
111 # disable timer | 111 # disable timer |
112 pygame.time.set_timer(MOVE_FOX_ID, 0) | 112 pygame.time.set_timer(MOVE_FOX_ID, 0) |
113 pygame.time.set_timer(ANIM_ID, 50) | |
113 self.game.gameboard.advance_day() | 114 self.game.gameboard.advance_day() |
114 self.game.gameboard.clear_foxes() | 115 self.game.gameboard.clear_foxes() |
115 sound.background_music("daytime.ogg") | 116 sound.background_music("daytime.ogg") |
116 self.game.gameboard.hatch_eggs() | 117 self.game.gameboard.hatch_eggs() |
117 | 118 |
119 if events_equal(e, START_NIGHT): | 120 if events_equal(e, START_NIGHT): |
120 return NightState(self.game) | 121 return NightState(self.game) |
121 elif e.type is KEYDOWN and e.key == K_ESCAPE: | 122 elif e.type is KEYDOWN and e.key == K_ESCAPE: |
122 self.game.gameboard.reset_cursor() | 123 self.game.gameboard.reset_cursor() |
123 return GameOver(self.game) | 124 return GameOver(self.game) |
125 elif e.type is ANIM_ID: | |
126 self.game.gameboard.run_animations() | |
124 elif e.type is KEYDOWN and e.key == K_n: | 127 elif e.type is KEYDOWN and e.key == K_n: |
125 return pygame.event.post(START_NIGHT) | 128 return pygame.event.post(START_NIGHT) |
126 elif events_equal(e, GO_MAIN_MENU): | 129 elif events_equal(e, GO_MAIN_MENU): |
127 return MainMenuState(self.game) | 130 return MainMenuState(self.game) |
128 elif e.type is not QUIT: | 131 elif e.type is not QUIT: |
149 | 152 |
150 sound.play_sound("nightfall.ogg") | 153 sound.play_sound("nightfall.ogg") |
151 # Add a timer to the event queue | 154 # Add a timer to the event queue |
152 self.cycle_count = 0 | 155 self.cycle_count = 0 |
153 pygame.time.set_timer(MOVE_FOX_ID, 200) | 156 pygame.time.set_timer(MOVE_FOX_ID, 200) |
157 pygame.time.set_timer(ANIM_ID, 50) | |
154 self.game.gameboard.spawn_foxes() | 158 self.game.gameboard.spawn_foxes() |
155 sound.background_music("nighttime.ogg") | 159 sound.background_music("nighttime.ogg") |
156 | 160 |
157 self.game.gameboard.lay_eggs() | 161 self.game.gameboard.lay_eggs() |
158 | 162 |
164 elif e.type is KEYDOWN and e.key == K_d: | 168 elif e.type is KEYDOWN and e.key == K_d: |
165 return pygame.event.post(START_DAY) | 169 return pygame.event.post(START_DAY) |
166 elif e.type is KEYDOWN and e.key == K_ESCAPE: | 170 elif e.type is KEYDOWN and e.key == K_ESCAPE: |
167 self.game.gameboard.reset_cursor() | 171 self.game.gameboard.reset_cursor() |
168 return GameOver(self.game) | 172 return GameOver(self.game) |
173 elif e.type is ANIM_ID: | |
174 self.game.gameboard.run_animations() | |
169 elif e.type is MOVE_FOX_ID: | 175 elif e.type is MOVE_FOX_ID: |
170 self.cycle_count += 1 | 176 self.cycle_count += 1 |
171 if self.cycle_count > constants.NIGHT_LENGTH: | 177 if self.cycle_count > constants.NIGHT_LENGTH: |
172 return pygame.event.post(START_DAY) | 178 return pygame.event.post(START_DAY) |
173 if self.game.gameboard.move_foxes(): | 179 if self.game.gameboard.move_foxes(): |
192 def init(self): | 198 def init(self): |
193 """Setup everything""" | 199 """Setup everything""" |
194 sound.stop_background_music() | 200 sound.stop_background_music() |
195 self.game.create_game_over() | 201 self.game.create_game_over() |
196 pygame.time.set_timer(MOVE_FOX_ID, 0) | 202 pygame.time.set_timer(MOVE_FOX_ID, 0) |
203 pygame.time.set_timer(ANIM_ID, 0) | |
197 | 204 |
198 def event(self, e): | 205 def event(self, e): |
199 if e.type is KEYDOWN: | 206 if e.type is KEYDOWN: |
200 if e.key == K_ESCAPE: | 207 if e.key == K_ESCAPE: |
201 return MainMenuState(self.game) | 208 return MainMenuState(self.game) |
222 START_DAY = pygame.event.Event(USEREVENT, name="START_DAY") | 229 START_DAY = pygame.event.Event(USEREVENT, name="START_DAY") |
223 START_NIGHT = pygame.event.Event(USEREVENT, name="START_NIGHT") | 230 START_NIGHT = pygame.event.Event(USEREVENT, name="START_NIGHT") |
224 GO_MAIN_MENU = pygame.event.Event(USEREVENT, name="GO_MAIN_MENU") | 231 GO_MAIN_MENU = pygame.event.Event(USEREVENT, name="GO_MAIN_MENU") |
225 GO_HELP_SCREEN = pygame.event.Event(USEREVENT, name="GO_HELP_SCREEN") | 232 GO_HELP_SCREEN = pygame.event.Event(USEREVENT, name="GO_HELP_SCREEN") |
226 MOVE_FOX_ID = USEREVENT + 1 | 233 MOVE_FOX_ID = USEREVENT + 1 |
234 ANIM_ID = USEREVENT + 6 | |
227 MOVE_FOXES = pygame.event.Event(MOVE_FOX_ID, name="MOVE_FOXES") | 235 MOVE_FOXES = pygame.event.Event(MOVE_FOX_ID, name="MOVE_FOXES") |
228 QUIT = pygame.event.Event(QUIT) | 236 QUIT = pygame.event.Event(QUIT) |