class GameCompleteScene(Scene): _STIME = 8.5 def __init__(self, game): self.next = self self.game = game self.font = pygame.font.Font('fonts/ShareTechMono-Regular.ttf', 100) self.sfont = pygame.font.Font('fonts/ShareTechMono-Regular.ttf', 30) self.comptxt = self.font.render("Game Complete", True, WHITE) self.wstxt = self.sfont.render("good job, thanks for playing!", True, WHITE) self.player = Player(None, 30, 400) self.telapsed = 0.0 # stop main music and play victory sound effect self.game.jukebox.stop_music() self.game.jukebox.play_sfx('victory') # get totally num deaths this play through self.ndeath = self.game.get_ndeath() self.deathtxt = self.sfont.render("You died {0} times".format(self.ndeath), True, WHITE) if self.ndeath > 0: # it will be! self.deathtxt2 = self.sfont.render("Try for better next time", True, WHITE) else: self.deathtxt2 = self.sfont.render("Perfect!", True, WHITE) def render(self, screen): screen.blit(self.game.bg, (0, 0)) screen.blit(self.comptxt, (180, 40)) screen.blit(self.wstxt, (180, 180)) screen.blit(self.deathtxt, (180, 220)) screen.blit(self.deathtxt2, (180, 260)) screen.blit(self.player.image, self.player.rect) def process_input(self, events, pressed, dt): # hacky (sorry) pressed = {} for action in ALL_ACTIONS: pressed[action] = False pressed[RIGHT] = True self.player.contact = True self.player.process_input(None, pressed, dt) self.player.rect.x += dt*240 def update(self, dt): self.telapsed += dt if self.telapsed > self._STIME: self.next = TitleScene(self.game)