Esempio n. 1
0
def game_board (gameId):
    memberIds = []



    msg = GameInfoRequest()
    msg.gameId = gameId
    try:
        game_info_response = gameservice.send(msg)
        if isinstance(game_info_response, GameError):
            return jsonify(result=(game_info_response.description, game_info_response.code))
        else:
            for player in game_info_response.game.players:
                if player.userId != session['userId']:
                    memberIds.append(player.userId)
            multiple_player_response = userservice.get_multiple_users(GetMultipleUsersRequest(userIds=memberIds))
            if (isinstance(multiple_player_response, GetMultipleUsersResponse)):
                print multiple_player_response
                pass

            # return jsonify({ "gameId" : game_info_response.game.gameId,
            #                  "players" : [ { "userId" : player.userId,
            #                                 "state" : player.state,
            #                                 "x" : player.x,
            #                                 "y" : player.y,
            #                                 "question" : player.question,
            #                                 "alternatives" : [a for a in player.alternatives],
            #                                 "answeredCorrectly" : player.answeredCorrectly } for player in game_info_response.game.players ],
            #                  "board" : [b for b in game_info_response.game.board ]
            #               })
    except TimeoutError as e:
        return jsonify(result = "Timeout")

    return render_template('game_board.html',friends=list(multiple_player_response.users), gameId=gameId, userId=session['userId'])
Esempio n. 2
0
def active_games():  
    #TODO: fetch list of active games
    msg = GameListRequest()
    msg.userId = session['userId']
    try:
        game_list_response = gameservice.send(msg)
        if isinstance(game_list_response, GameError):
            return jsonify(result=(game_list_response.description, game_list_response.code))
        else:

            games=[]
            for game in game_list_response.games:
                playerIds=[]
                for player in game.players:
                    if player.userId != session['userId']:
                        playerIds.append(player.userId)
                multiple_player_response = userservice.get_multiple_users(GetMultipleUsersRequest(userIds=playerIds))
                if(isinstance(multiple_player_response, GetMultipleUsersResponse)):
                    currentGame = (game, list(multiple_player_response.users))
                    games.append(currentGame)
            return render_template('active_games.html', games=games)
                    
            #print game_list_response
            # friends_list=[]
            # memberIds = []
            # for game in game_list_response.games:
            #     for player in game.players:
            #     if player.userId != session['userId']:
            #         memberIds.append(player.userId)
            # multiple_player_response = userservice.get_multiple_users(GetMultipleUsersRequest(userIds=memberIds))
            # if (isinstance(multiple_player_response, GetMultipleUsersResponse)):
            #     print multiple_player_response
            #     pass


            # friends_list.append(namedtuple(game)list(multiple_player_response.users))
            # return render_template('active_games.html', games= game_list_response.games ) 
            #print "game info this one", game_list_response.games
            #return jsonify({"games":[{ "gameId" : game.gameId} for game in game_list_response.games] }) 
                             # "players" : [ { "userId" : player.userId,
                             #                "state" : player.state,
                             #                "x" : player.x,
                             #                "y" : player.y,
                             #                "question" : player.question,
                             #                "alternatives" : [a for a in player.alternatives],
                             #                "answeredCorrectly" : player.answeredCorrectly } for player in game_info_response.game.players ],
                             # "board" : [b for b in game_info_response.game.board ]
                             #  })
        
    except TimeoutError as e:
        return jsonify(result = "Timeout")
Esempio n. 3
0
def get_question():
    print "get question"
    gameId = request.form.get('gameId',0, type=int)
    msg = QuestionRequest()
    msg.gameId = gameId
    msg.userId = session['userId']
    #return jsonify({ "question" : "Starts the alphabet?", "alternatives" : [a for a in ["a","b","c","d"]] }) 
    #added in order to be able to have a proper message to parse 
    try:
        get_question_response = gameservice.send(msg)
        if isinstance(get_question_response, GameError):
            return jsonify(result=(get_question_response.description, get_question_response.code)) 
        else:
            return jsonify({ "isQuestion": True, "question" : get_question_response.question, "alternatives" : [a for a in get_question_response.alternatives] })
    except TimeoutError as e:
        return jsonify(result = "Timeout")
Esempio n. 4
0
def submit_answer():
    print "submit answer"
    gameId = request.form.get('gameId',0, type=int)
    answer = request.form.get('answer',0, type=int)
    print "answer", answer
    msg = AnswerRequest()
    msg.gameId = gameId
    msg.userId = session['userId']
    msg.answer = answer
    # if (answer==1):
    #     return jsonify({ "isCorrect" : True })
    # else:
    #     return jsonify({ "isCorrect" : False })
    try:
        submit_answer_response = gameservice.send(msg)
        if isinstance(submit_answer_response,GameError):
            return jsonify(result=(submit_answer_response.description, submit_answer_response.code))
        else:
            return jsonify({ "isCorrect" : submit_answer_response.isCorrect })
    except TimeoutError as e:
        return jsonify(result = "Timeout")
Esempio n. 5
0
def game_info():
    print "game info "
    gameId = request.form.get('gameId',0, type=int)
    msg = GameInfoRequest()
    msg.gameId = gameId
    try:
        game_info_response = gameservice.send(msg)
        if isinstance(game_info_response, GameError):
            return jsonify(result=(game_info_response.description, game_info_response.code))
        else:
            return jsonify({ "gameId" : game_info_response.game.gameId,
                             "players" : [ { "userId" : player.userId,
                                            "state" : player.state,
                                            "x" : player.x,
                                            "y" : player.y,
                                            "score": player.score,
                                            #"question" : player.question,
                                            #"alternatives" : [a for a in player.alternatives],
                                            "answeredCorrectly" : player.answeredCorrectly } for player in game_info_response.game.players ],
                             "board" : [b for b in game_info_response.game.board ]
                          })
    except TimeoutError as e:
        return jsonify(result = "Timeout")
Esempio n. 6
0
def tile_placement():
    print "game board in run_web"
    gameId = request.form.get('gameId',0, type=int)
    x = request.form.get('x', 0, type=int)
    y = request.form.get('y', 0, type=int)
    print "gameId", gameId
    print "userId", session['userId']
    print "x: ",x
    print "y: ",y
    print "before msg"

    msg = MoveRequest()
    msg.x       = x
    msg.y       = y
    msg.gameId   = gameId
    msg.userId  = session['userId']
    try:
        player_move_response = gameservice.send(msg)
        if(isinstance(player_move_response,GameError)):
            return jsonify(result=(player_move_response.description, player_move_response.code))
        else:
            return jsonify(result ="Move sent")
    except TimeoutError as e:
        return jsonify(result = "Timeout")