Example #1
0
def game():
    device_id = request.cookies.get('device_id')
    device = Device.query.get(device_id)
    if not device:
        abort(404, 'Device not found')
    game = Game.current()
    player = Player.current(device_id)
    response = make_response(render_template('scoring.html'))
    return response
Example #2
0
def game_info():
    if not request.cookies.get('device_id'):
        abort(404, 'Device not found')
    device_id = request.cookies.get('device_id')
    device = Device.query.get(device_id)
    if not device:
        abort(404, 'Device not found')
    game = Game.current()
    player = Player.current(device_id)
    ret = dict(game=game.to_dict(),
               player=player.to_dict(),
               device=device.to_dict())
    response = jsonate(ret)
    return response
Example #3
0
def game_join():
    device_id = request.cookies.get('device_id')
    device = Device.query.get(device_id)
    if not device:
        abort(403, 'No device found')

    player = Player.current(device.id)
    if player:
        return redirect('/game', code=302)

    current_game = Game.current()
    if not current_game:
        abort(404, 'No current game')

    game = get_game_manager()
    game.create_player(device)

    return redirect('/game', code=302)
Example #4
0
def players_create(game_id):
    game = get_game_or_abort(game_id)

    if game.ended_at is not None:
        abort(403, 'Cannot join a player to a finished game')

    device_id = request.json.get('deviceId', None)
    if not device_id:
        abort(403, 'Must supply deviceId')

    device = Device.query.get(device_id)
    if not device:
        abort(403, 'Device %s not found' % device_id)

    clan = request.json.get('clan', random.choice(config['clans']))
    territory = request.json.get('territory', None)

    player = Player.create(game.id, device.id, clan, territory)

    response = jsonate(player.to_dict())
    response.status_code = 201
    response.headers['Location'] = url_for(
            'players_get', game_id=game.id, player_id=player.id)
    return response