Ejemplo n.º 1
0
    def Start(self):
        while True:
            previousMode = self.__previousState.GetMode()
            heldKeys = self.__previousState.GetKeys()
            pressedKeys = pygame.key.get_pressed()

            currentState = GameState(previousMode, pressedKeys)

            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    self.Quit()

                # Setting different modes
                if (event.type == pygame.KEYDOWN):
                    if (previousMode == GameState.PAUSED):
                        if (event.key == pygame.K_ESCAPE
                                and not heldKeys[pygame.K_ESCAPE]):
                            currentState.SetMode(GameState.PLAYING)

                    if (previousMode == GameState.INVENTORY):
                        if (event.key == pygame.K_e
                                and not heldKeys[pygame.K_e]):
                            Inventory.Close()
                            currentState.SetMode(GameState.PLAYING)

                    if (previousMode == GameState.PLAYING):
                        if (event.key == pygame.K_ESCAPE
                                and not heldKeys[pygame.K_ESCAPE]):
                            currentState.SetMode(GameState.PAUSED)
                        elif (event.key == pygame.K_e
                              and not heldKeys[pygame.K_e]):
                            Inventory.Open()
                            currentState.SetMode(GameState.INVENTORY)

            self.CheckCollisions()

            self.Draw()

            self.__previousState = currentState

            self.Clock.Tick()