当前位置: 首页>>代码示例>>Python>>正文


Python Maze.game_over方法代码示例

本文整理汇总了Python中maze.Maze.game_over方法的典型用法代码示例。如果您正苦于以下问题:Python Maze.game_over方法的具体用法?Python Maze.game_over怎么用?Python Maze.game_over使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在maze.Maze的用法示例。


在下文中一共展示了Maze.game_over方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: Main

# 需要导入模块: from maze import Maze [as 别名]
# 或者: from maze.Maze import game_over [as 别名]
class Main():

    def __init__(self):

        # Initialize pygame
        pygame.init()
        pygame.font.init()

        # initialize font
        self.font = pygame.font.SysFont(None, 40)
        self.smallfont = pygame.font.SysFont(None, 25)

        # Set the dimension the window
        self.window = pygame.display.set_mode((WINDOW_WIDTH, WINDOW_HEIGHT))
        pygame.display.set_caption("Maze")
        pygame.display.flip()

        self.game_over = False
        self.game_exit = False

        # Create and generatethe Maze
        self.maze = Maze()
    
    def text_objects(self, text, color, size):
        if size == "small":
            textSurface = self.smallfont.render(text, True, color)
        elif size == "medium":
            textSurface = self.font.render(text, True, color)
        return textSurface, textSurface.get_rect()

    def message_to_screen(self, msg, color, y_displace=0, size = "medium"):
        textSurf, textRect = self.text_objects(msg, color, size)
        textRect.center = (WINDOW_WIDTH / 2), (WINDOW_HEIGHT / 2) + y_displace
        self.window.blit(textSurf, textRect)

    def show_items_collected(self):

        show = True
        nb_items_left = len(self.maze.items) - len(self.maze.mac.backpack)

        while show:
            for event in pygame.event.get():
                if event.type == QUIT:
                    self.game_over = True

                elif event.type == KEYDOWN:
                    # Escape to quit
                    if event.key == K_TAB:
                        show = False

            self.window.fill(WHITE)
            self.message_to_screen("You picked up:", BLACK)
            
            line = 320
            position = 240
            for char, img in self.maze.items.items():
                for item in self.maze.mac.backpack:
                    if item == char:
                        self.window.blit(img, (position, line))
                        position += SIZE_SPRITE
         
            if len(self.maze.mac.backpack) == len(self.maze.items):
                self.message_to_screen("You can put the guardian to sleep now",GREEN, 80, size = "small")
            else:
                self.message_to_screen("You still have {} items to collect".format(nb_items_left), RED, 80, size = "small")
            pygame.display.flip()

    def screen_game_over(self):

        display_screen = True

        while display_screen:

            winner = self.maze.winner()

            mcgyver_win = pygame.image.load(MCGYVER_WIN).convert()
            murdoc_win = pygame.image.load(MURDOC_WIN).convert()

            if winner == "McGyver":
                self.window.blit(mcgyver_win, (0, 0))
                self.message_to_screen("You win", WHITE, -75)
                pygame.display.update()
            elif winner == "Murdoc":
                self.window.blit(murdoc_win, (0, 0))
                self.message_to_screen("You loose", WHITE, -75)
                pygame.display.update()
            self.message_to_screen("Press P to play agin or Q to quit", WHITE)
            pygame.display.flip()

            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    self.game_over = False
                    self.game_exit = True

                if event.type == pygame.KEYDOWN:
                    if event.key == K_p:
                        self.game_over = False
                        self.game_exit = False
                        # Reset the object
                        self.maze.__init__()
#.........这里部分代码省略.........
开发者ID:sneakyPeat,项目名称:Maze,代码行数:103,代码来源:main.py


注:本文中的maze.Maze.game_over方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。