コード例 #1
0
ファイル: pysnakeserver.py プロジェクト: wmgaca/pysnake
    def package_dispatcher(package, client_addr):
        assert isinstance(package, Package)

        if isinstance(package, UserQuit):
            PySnakeHandler.remove_client(client_addr)
        elif isinstance(package, HandShake):
            PySnakeHandler.game_objects[client_addr] = Snake(Coords.get_random())
        elif isinstance(package, UpdateDirection):
            if client_addr in PySnakeHandler.game_objects:
                PySnakeHandler.game_objects[client_addr].direction = package.direction
コード例 #2
0
ファイル: pysnakeserver.py プロジェクト: wmgaca/pysnake
def broadcast_state():
    clock = pygame.time.Clock()

    while True:
        if not len(PySnakeHandler.game_objects['apples']):
            PySnakeHandler.game_objects['apples'].append(Apple(Coords.get_random()))

        for game_object in PySnakeHandler.game_objects.values():
            if isinstance(game_object, Snake):
                game_object.move()

        PySnakeHandler.broadcast_state()

        clock.tick(25)