예제 #1
0
    def __init__(self, stateMachine, db):
        # Calls 'State' constructor
        State.__init__(self)
        self.stateMachine = stateMachine

        # Create 'TitleMenu' for this state and add to the 'MenuManager'
        MenuManager.addMenu("TitleMenu", TitleMenu(db))
예제 #2
0
    def __init__(self, stateMachine, db):
        # Calls 'State' constructor
        State.__init__(self)
        self.stateMachine = stateMachine

        # Create 'TitleMenu' for this state and add to the 'MenuManager'
        MenuManager.addMenu("TitleMenu", TitleMenu(db))
예제 #3
0
    def draw(self, screen):

        # Draw the menu
        MenuManager.createMenu(self.menuArgs, self.options, self.rectContainer, self.rectOptions, screen)

        # Draw the text inside the menu
        for i in range(self.menuArgs['numberOfOptions']):
            MenuManager.drawText(screen, self.options[i], GameConfig.WHITE, self.rectOptions[i], self.font, center=True)
예제 #4
0
    def run(self):

        for event in pygame.event.get():

            self.stateMachine.curState.update(event)
            MenuManager.update(event)

            if event.type == QUIT:
                exit()
예제 #5
0
    def run(self):
        # Clear the screen before drawing
        self.screen.fill(GameConfig.SCREEN_CLEAR_COLOR)
        # Draw the current state
        self.stateMachine.curState.draw(self.screen)

        MenuManager.draw(self.screen)

        # Update the display
        pygame.display.update()
예제 #6
0
    def draw(self, screen):

        # Draw the menu
        MenuManager.createMenu(self.menuArgs, self.options, self.rectContainer,
                               self.rectOptions, screen)

        # Draw the text inside the menu
        for i in range(self.menuArgs['numberOfOptions']):
            MenuManager.drawText(screen,
                                 self.options[i],
                                 GameConfig.WHITE,
                                 self.rectOptions[i],
                                 self.font,
                                 center=True)
예제 #7
0
    def __init__(self, db):

        # Initialize PyGame
        pygame.init()

        self.stateMachine = StateMachine()

        # States
        self.stateMachine.addState("TitleScreen",
                                   TitleScreen(self.stateMachine, db))
        self.stateMachine.addState("Settings", Settings(self.stateMachine))
        self.stateMachine.addState("InGame", InGame(self.stateMachine))
        # Transitions
        self.stateMachine.addTransition("toTitleScreen",
                                        Transition("TitleScreen"))
        self.stateMachine.addTransition("toSettings", Transition("Settings"))
        self.stateMachine.addTransition("toInGame", Transition("InGame"))

        # Set the initial state
        self.stateMachine.setState("TitleScreen")

        # Initialize Managers
        self.eventManager = EventManager(self.stateMachine)
        self.displayManager = DisplayManager(self.stateMachine)
        self.menuManager = MenuManager(self.stateMachine)