Пример #1
0
    def validate_round_request():
        if not flask.request.json:
            raise Exception("Invalid request: no JSON body.")
        game_id = flask.request.json.get('game_id')
        if not game_id:
            raise Exception("Invalid request: No game_id value")
        user = flask.request.json.get('user')
        if not user:
            raise Exception("Invalid request: No user value")
        db_user = game_service.find_player(user)
        if not db_user:
            raise Exception(
                "Invalid request: No user with name {}".format(user))
        roll = flask.request.json.get('roll')
        if not roll:
            raise Exception("Invalid request: No roll value")
        db_roll = game_service.find_roll(roll)
        if not db_roll:
            raise Exception(
                "Invalid request: No roll with name {}".format(roll))

        is_over = game_service.is_game_over(game_id)
        if is_over:
            raise Exception("This game is already over.")

        return db_roll, db_user, game_id
Пример #2
0
def build_starter_data():
    roll_names = game_decider.all_roll_names()
    game_service.init_rolls(roll_names)

    computer = game_service.find_player('computer')
    if not computer:
        game_service.create_player('computer')
    def play_round():
        try:
            db_roll, db_user, game_id = validate_round_request()
            computer_player = game_service.find_player('computer')
            computer_roll = random.choice(game_service.all_rolls())

            game = GameRound(game_id, db_user, computer_player, db_roll, computer_roll)
            game.play()

            return flask.jsonify({
                'roll': db_roll.to_json(),
                'computer_roll': computer_roll.to_json(),
                'player': db_user.to_json(),
                'opponent': computer_player.to_json(),
                'round_outcome': str(game.decision_p1_to_p2),
                'is_final_round': game.is_over,
                'round_number': game.round
            })
        except Exception as x:
            # raise x
            flask.abort(flask.Response(response='Invalid request: {}'.format(x), status=400))
Пример #4
0
def play_round():
    try:
        db_roll, db_user, game_id = validate_round_request()
        computer_player = game_service.find_player('computer')
        computer_roll = random.choice(game_service.all_rolls())

        game = GameRound(game_id, db_user, computer_player, db_roll, computer_roll)
        game.play()

        return jsonify({
            'roll': db_roll.to_json(),
            'computer_roll': computer_roll.to_json(),
            'player': db_user.to_json(),
            'opponent': computer_player.to_json(),
            'round_outcome': str(game.decision_p1_to_p2),
            'is_final_round': game.is_over,
            'round_number': game.round
        })
    except Exception as x:
        # raise x
        abort(make_response(jsonify({'Invalid request': '{}'.format(x)}), 400))
Пример #5
0
 def validate_round_request():
     if not flask.request.json:
         raise Exception("Invalid request: no JSON body.")
     game_id = flask.request.json.get('game_id')
     if not game_id:
         raise Exception("Invalid request: No game_id value")
     the_number = flask.request.json.get('the_number')
     user = flask.request.json.get('user')
     if not user:
         raise Exception("Invalid request: No user value")
     db_user = game_service.find_player(user)
     if not db_user:
         raise Exception(
             "Invalid request: No user with name {}".format(user))
     move = flask.request.json.get('move')
     if not move:
         raise Exception("Invalid request: No roll value")
     db_move = move
     is_over = game_service.is_game_over(game_id)
     if is_over:
         raise Exception("This game is already over.")
     return db_move, db_user, game_id, the_number
    def validate_round_request():
        if not flask.request.json:
            raise Exception("Invalid request: no JSON body.")
        game_id = flask.request.json.get('game_id')
        if not game_id:
            raise Exception("Invalid request: No game_id value")
        user = flask.request.json.get('user')
        if not user:
            raise Exception("Invalid request: No user value")
        db_user = game_service.find_player(user)
        if not db_user:
            raise Exception("Invalid request: No user with name {}".format(user))
        roll = flask.request.json.get('roll')
        if not roll:
            raise Exception("Invalid request: No roll value")
        db_roll = game_service.find_roll(roll)
        if not db_roll:
            raise Exception("Invalid request: No roll with name {}".format(roll))

        is_over = game_service.is_game_over(game_id)
        if is_over:
            raise Exception("This game is already over.")

        return db_roll, db_user, game_id
 def find_user(user: str):
     player = game_service.find_player(user)
     if not player:
         flask.abort(404)
     return flask.jsonify(player.to_json())
Пример #8
0
 def find_user(user: str):
     player = game_service.find_player(user)
     if not player:
         flask.abort(404)
     return flask.jsonify(player.to_json())
Пример #9
0
def find_user(user):
	u = game_service.find_player(user)
	if not u:
		abort(make_response(jsonify({"ERROR":"This user was not found"}), 404))
	return jsonify(u.to_json())