Example #1
0
File: scene.py Project: jpmit/ggj14
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)