Exemplo n.º 1
0
class MainMenu(game.State):
    def __init__(self):
        super(MainMenu, self).__init__()

        self.title = Line((game.screen_size[0] / 2, game.screen_size[1] / 4),
                          "Houd de knop ingedrukt", game.get_font('title'))

        self.cursor = Cursor()
        self.start_button = Button(
            (game.screen_size[0] / 2, game.screen_size[1] / 2),
            self.start_button_pressed)

        game.global_state_changed.subscribe(self.global_state_changed)

    def update(self, delta):
        self.title.update(delta)
        self.cursor.update(delta)
        self.start_button.update(delta)

    def draw(self, surface):
        self.title.draw(surface)
        self.start_button.draw(surface)
        self.cursor.draw(surface)

    def start_button_pressed(self):
        game.set_global_state('tutorial')

    def global_state_changed(self, previous_state, new_state):
        if new_state is 'main_menu':
            self.cursor.set_position((0, 0))
            self.cursor.cursor_up()
Exemplo n.º 2
0
class Tutorial(game.State):
    def __init__(self):
        super(Tutorial, self).__init__()
        self.title = Line((game.screen_size[0] / 2, 150), "Tutorial",
                          game.get_font('title'))

        self.cursor = Cursor()
        self.hand_screen = HandScreen(
            (3 * game.screen_size[0] / 4, game.screen_size[1] / 2))

        self.set_letter()

        game.global_state_changed.subscribe(self.global_state_changed)

    def update(self, delta):
        self.title.update(delta)
        self.cursor.update(delta)
        self.hand_screen.update(delta)
        self.pose_tutorial.update(delta)

        if not self.pose_tutorial.is_active:
            game.set_global_state('game')

    def draw(self, surface):
        self.title.draw(surface)
        self.hand_screen.draw(surface)
        self.pose_tutorial.draw(surface)
        self.cursor.draw(surface)

    def global_state_changed(self, previous_state, new_state):
        if new_state is 'tutorial':
            self.cursor.set_position((0, 0))
            self.cursor.cursor_up()

            self.set_letter()

    def set_letter(self):
        self.letter = random.sample(game.get_property('available_letters'),
                                    1)[0]

        self.title.set_text('De letter %s' % self.letter.upper())

        self.pose_tutorial = PoseTutorial(
            (game.screen_size[0] / 4, game.screen_size[1] / 2),
            self.hand_screen.get_pose, self.letter)