Ejemplo n.º 1
0
    def __init__(self, board, funsies):
        pygame.init()

        d = pygame.display.Info()
        self.desktop_size = (d.current_w, d.current_h)
        self.size = (600, 600)

        pygame.display.set_caption("Entanglement Client")

        self.done = False
        self.clock = pygame.time.Clock()

        self.screen = pygame.display.set_mode(self.size)
        self.screen.fill((0xFF, ) * 3)

        self.funsies = funsies
        self.board = board
        self.clicked = 0
        self.ui = GameUI(self, None)
Ejemplo n.º 2
0
class Main(object):
    def __init__(self, board, funsies):
        pygame.init()

        d = pygame.display.Info()
        self.desktop_size = (d.current_w, d.current_h)
        self.size = (600, 600)

        pygame.display.set_caption("Entanglement Client")

        self.done = False
        self.clock = pygame.time.Clock()

        self.screen = pygame.display.set_mode(self.size)
        self.screen.fill((0xFF, ) * 3)

        self.funsies = funsies
        self.board = board
        self.clicked = 0
        self.ui = GameUI(self, None)

    def ui_push(self, cls):
        self.ui = cls(self, self.ui)

    def ui_pop(self):
        self.ui = self.ui.parent

    def ui_swap(self, cls):
        self.ui = cls(self, self.ui.parent)

    def stop(self):
        self.done = True

    def run(self):
        while not self.done:
            self.clock.tick(60)
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    self.stop()
                elif self.funsies:
                    if event.type == pygame.KEYDOWN:
                        self.ui.handle_key(event)
                    elif event.type == pygame.KEYUP:
                        self.ui.handle_key_up(event)
                    elif event.type == pygame.MOUSEBUTTONDOWN:
                        if event.button == 1:
                            self.clicked = True
                            self.ui.handle_click(event)
                        elif event.button in (4, 5):  # scrollin!
                            event.scroll_dir = event.button * 2 - 9
                            self.ui.handle_scroll(event)
                    elif event.type == pygame.MOUSEBUTTONUP:
                        if event.button == 1:
                            self.clicked = False
                            self.ui.handle_click_up(event)
                    elif event.type == pygame.MOUSEMOTION:
                        if event.buttons[0]:
                            self.ui.handle_drag(event)
                        else:
                            self.ui.handle_motion(event)

            self.screen.fill((0, ) * 3)
            self.ui.update()
            self.ui.reblit(self.screen)
            pygame.display.flip()
        pygame.quit()