示例#1
0
def ping_reply(game, player=None):
    return dict({'message': '',
                 'state': Player.game_state(game.name),
                 'gamesig': game.signature(),
                 'next': 2000,
                 'ok': True},
                **(player and {'player': player.uid} or {}))
示例#2
0
文件: routes.py 项目: jensechu/gogogo
def game(game):
    return {'message': '',
            'name': game.name,
            'turn': game.who(),
            'over': game.board.game_over,
            'state': Player.game_state(game.name),
            'gamesig': game.signature(),
            'scores': game.scores(),
            'data': game.board.take_snapshot()}
示例#3
0
文件: routes.py 项目: sbryant/gogogo
def register_player(game):
    required = ("player",)
    try:
        data = json.loads(bottle.request.body.read())
        player = data["player"]
    except (ValueError, KeyError):
        raise bottle.HTTPResponse({"message": "JSON seems invalid"}, 400)
    if Player.find(game.name, player=player):
        raise bottle.HTTPResponse({"message": "Game already has a {player}".format(player=player)}, 409)

    player = Player(game.name).update(**data)
    return {"message": "", "player": player.uid, "game": game.name}
示例#4
0
def game(game, branch=None):
    try: board = game.get_board(branch)
    except GameError: raise bottle.HTTPResponse({'message': "Cannot load branch"}, 404)

    return dict({'message': '',
                 'name': game.name,
                 'turn': board.player_turn(),
                 'over': board.game_over,
                 'gamesig': game.signature(branch),
                 'scores': game.scores(),
                 'data': board.take_snapshot()},

                #Include data that's not relevant unless we're looking at HEAD
                **(not branch
                       and {'state': Player.game_state(game.name)}
                       or {}));
示例#5
0
文件: routes.py 项目: jensechu/gogogo
def ping_game(game):
    return {'message': '',
            'state': Player.game_state(game.name),
            'gamesig': game.signature(),
            'ok': True}
示例#6
0
文件: routes.py 项目: jensechu/gogogo
def boot_other(game, player):
    print "Others:", 
    return {'message': '',
            'count': len([p.delete()
                          for p in Player.find(game.name, exclude={'uid': player.uid})])}
示例#7
0
文件: routes.py 项目: jensechu/gogogo
def ping_player(game, player):
    return {'message': '',
            'player': player.uid,
            'state': Player.game_state(game.name),
            'gamesig': game.signature(),
            'ok': True}