コード例 #1
0
    def run(self, game, state_stack):
        header = rabbyt.Sprite('1bunny3.png')
        font = Font(pygame.font.Font(None, 80))
        name_list = []
        score_list = []

        for i in range(5):
            temp = FontSprite(font, str(game.high_score_names[i]))
            temp2 = FontSprite(font, str(game.high_scores[i]))
            temp.rgb = (255, 255, 255)
            temp2.rgb = (255, 255, 255)
            temp.xy = (-220, 87 - 55*i)
            temp2.xy = (150, 87 - 55*i)
            name_list.append(temp)
            score_list.append(temp2)

        game.done = False
        while not game.done:
            rabbyt.clear()
            header.render()

            for name, score in zip(name_list, score_list):
                name.render()
                score.render()

            for event in pygame.event.get():
                if event.type ==  pygame.QUIT:
                    game.done = True
                    fdata = open("RabbitHighScores", 'w')
                    for i in range(5):
                        fdata.write(game.high_score_names[i] + " " + \
                        str(game.high_scores[i]) + "\n")

                elif event.type == pygame.KEYDOWN:
                    if event.key == pygame.K_ESCAPE or event.key == \
                        pygame.K_RETURN:
                        game.done = True
                        state_stack.append(states.menu.Menu())
                elif event.type == pygame.JOYBUTTONDOWN and game.controls.settings["Escape"]:
                    game.done = True
                    state_stack.append(states.menu.Menu())

            game.clock.tick(40)

            pygame.display.flip()
コード例 #2
0
    def run(self, game, state_stack):
        backg = rabbyt.Sprite('1Menu_Screen1.png') 
        textbox = rabbyt.Sprite('1textbox.png')
        enter_name = FontSprite(game.font, "")
        inst = FontSprite(game.font, "Instructions:")
        inst.rgb = (0, 0, 0)
        inst.y = -50
        inst.x = -90
        movement = FontSprite(game.font, "Move with the arrow keys")
        movement.x = -150
        movement.y = -100
        movement.rgb = (0, 0, 0)
        fire = FontSprite(game.font, "Press the Space Bar to fire")
        fire.x = -150
        fire.y = -150
        fire.rgb = (0, 0, 0)
        save = FontSprite(game.font, "Press the C key to save a time to")
        save.x = -400
        save.y = -200
        save.rgb = (10, 10, 10)
        save2 = FontSprite(game.font, "go back to and help yourself")
        save2.x = -400
        save2.y = -250
        save2.rgb = (150, 150, 150)
        revert = FontSprite(game.font, "Press the C again key to go back ")
        revert.x = 50
        revert.y = -200
        revert.rgb = (100, 100, 100)
        revert2 = FontSprite(game.font, "to the time you saved before.")
        revert2.x = 25
        revert2.y = -250
        revert2.rgb = (150, 150, 150)
        enter_name.rgb = (0, 0, 0)
        textbox.y = -10
        self.game = game

        game.done = False
        while not self.game.done:
            rabbyt.clear()
            backg.render()
            textbox.render()
            enter_name.render()
            inst.render()
            movement.render()
            fire.render()
            save.render()
            save2.render()
            revert.render()
            revert2.render()

            self.game.clock.tick(40)

            for event in pygame.event.get():
                if event.type ==  pygame.QUIT:
                    self.game.done = True
                    fdata = open("RabbitHighScores", 'w')
                    for i in range(5):
                        fdata.write(self.game.high_score_names[i] + " " + \
                        str(self.game.high_scores[i]) + "\n")

                elif event.type == pygame.KEYDOWN:
                    if event.key == pygame.K_ESCAPE:
                        self.game.done = True
                        state_stack.append(states.menu.Menu())

                    elif event.key == pygame.K_RETURN:
                        if(enter_name.text == ""):
                            self.game.winner_name = "Rabbit"
                        else:
                            self.game.winner_name = enter_name.text
                        self.game.done = True
                        self.set_next_level(state_stack)

                    elif event.key == pygame.K_BACKSPACE:
                        enter_name.text = enter_name.text[:-1]
                        enter_name.x += 6

                    elif not event.key == pygame.K_SPACE and \
                        len(enter_name.text) < 9:
                        enter_name.text += event.unicode
                        enter_name.x -= 6
                    
                elif event.type == pygame.JOYBUTTONDOWN:
                    if self.game.joystick.get_button(self.game.controls.settings["Escape"]):
                        self.game.done = True
                        state_stack.append(states.menu.Menu())
                    if self.game.joystick.get_button(self.game.controls.settings["Fire"]):
                        if(enter_name.text == ""):
                            self.game.winner_name = "Rabbit"
                        else:
                            self.game.winner_name = enter_name.text
                        self.game.done = True
                        self.set_next_level(state_stack)

            pygame.display.flip()