示例#1
0
 def load_game_cb(self):
     self.remove_widget(self.menu)
     self.menu = None
     self.load_game = True
     self.game = GameWidget(restart_cb=self.restart_game_cb,
                            exit_cb=self.exit_game_cb)
     self.add_widget(self.game)
示例#2
0
    def __init__(self, resolution, host, port, username, password, split="\n"):
        global network_log

        self.log = Log('client')
        network_log = Log('network')

        # must have at least one handler
        self.log.logger.addHandler(logging.NullHandler())
        network_log.logger.addHandler(logging.NullHandler())

        # opengl must be initialized first
        self.log.info("Initializing display (windowed at %(resolution)s)",
                      dict(resolution='%dx%d' % resolution))
        self._screen = pygame.display.set_mode(resolution, OPENGL | DOUBLEBUF)
        pygame.display.set_caption('yamosg')

        self.log.debug(
            "OpenGL setup (version=\"%(version)s\", vendor=\"%(vendor)s\")",
            dict(version=glGetString(GL_VERSION),
                 vendor=glGetString(GL_VENDOR)))
        setup_opengl()

        Client.cursor_default = pygame.cursors.arrow
        Client.cursor_capture = pygame.cursors.diamond

        self._resolution = Vector2i(resolution)
        self._username = username
        self._password = password
        self._split = split
        self._running = False
        self._state = StateManager()
        self._game = GameWidget(self, self._resolution)
        self._container = Composite(Vector2i(0, 0),
                                    self._resolution,
                                    children=[self._game])
        self._toolbar = Toolbar(self._game)
        self._window = VBox()
        self._window.add(self._toolbar,
                         size=LayoutAttachment(Vector2i(1, 0), Vector2i(0,
                                                                        25)))
        self._window.add(self._container)
        self._state.push(GameState(self._resolution, self._window))
        self._network = Network(self, host, port)
        self._command_store = {}
        self._command_queue = []
        self._command_lock = threading.Lock()
        self._playerid = None
        self._players = {}
        self._capture_position = None
        self._timer = 0

        # resizing must be done after state has been created so the event is propagated proper.
        self._resize(self._resolution)
示例#3
0
    def __init__(self, res, addresses):
        super(MainWidget, self).__init__()
        self.current_widget = None
        self.res = res
        self.init_ui()
        self.devices = []
        self.timer = None
        self.old_score = 0
        self.end_score = 1
        self.game_running = True
        self.game = None
        self.minigame_winner = None
        self.addresses = addresses

        self.w_setup = SetupWidget(self.WINDOW_SIZE, parent=self.window)
        self.w_menu = MenuWidget(self.WINDOW_SIZE, (self.GAME, self.HIGHSCORE),
                                 parent=self.window)
        self.w_game = GameWidget(self.res, parent=self.window)

        # Starts the first widget.
        self.init_widget(self.SETUP)
示例#4
0
 def restart_game_cb(self):
     self.remove_widget(self.game)
     self.game = GameWidget(restart_cb=self.restart_game_cb,
                            exit_cb=self.exit_game_cb)
     self.add_widget(self.game)