def runit(self): menu = Menu(self.screen) hs_screen = HighScoreScreen(self.screen, self.score) intro_seq = StartScreen(self.screen) e_loop = Event(loop_running=True, actions={pygame.MOUSEBUTTONDOWN: menu.check_buttons}) while e_loop.loop_running: self.clock.tick(60) e_loop.check_events() self.screen.fill(PacmanPortal.black) if not menu.hs_screen: intro_seq.update() intro_seq.blit() menu.update() menu.blit() else: hs_screen.blit() hs_screen.check_done() if menu.ready_to_play: pygame.mixer.music.stop() self.play_game() for g in self.ghosts: g.reset_speed() menu.ready_to_play = False self.score.save_high_scores() hs_screen.prep_images() hs_screen.position() pygame.display.flip()
def play_game(self): e_loop = Event(loop_running=True, actions={**self.player.event_map, **self.events}) self.next_level.set_show_transition() self.game_over = False if self.player.dead: self.player.respawn() self.score.reset_level() self.stock.reset_counter() self.rebuild_maze() while e_loop.loop_running: self.clock.tick(60) e_loop.check_events() self.update_screen() if self.game_over: pygame.mixer.stop() self.score.reset_level() e_loop.loop_running = False