Esempio n. 1
0
def moveToGuessTime(g_id):
    print("Moved To Guess Time")
    #Get Game Info by id
    curr_game = dbManager.getGameById(g_id)

    #Get All Answers from Table
    answers = dbManager.getPlayerAnswers(
        g_id, curr_game.current_question_sequence_number)

    #Build Response message
    str_response = "\r The following answers were given: \r"
    anum = 1

    #Also lets get the real answer
    curr_question = dbManager.getQuestion(curr_game.current_question_id)
    real_answer = curr_question.true_answer

    #first lets actually generate a random number between 1 and total num of answers
    rndNum = random.randint(1, len(answers))

    #lets loop through all the answers to...
    #1. Assign a numerical value to an answer (true and fake)
    #2. Create a response string
    for answer in answers:
        #if our anum variable = the random number, thats where we are going to insert
        #the real answer.
        if rndNum == anum:
            str_response = str_response + "{}. {}\r".format(
                anum, real_answer.lower())
            #lets store off the value that people will have to enter to select the right answer
            dbManager.updateQuestionRealAnswerGuessId(curr_question.id,
                                                      str(anum))
            anum = anum + 1

        str_response = str_response + "{}. {}\r".format(
            anum, answer.fake_answer)
        dbManager.updatePlayerAnswerFakeGuessId(answer.id, str(anum))
        anum = anum + 1

    str_response = str_response + "\r Reply with the answer number you think is correct."
    #K lets get the list of players
    players = dbManager.getPlayersByGameId(g_id)

    #Send Message With Question and Fake Answers
    for player in players:
        messageSender.sendMessage(player.mdn, str_response)

    #Update game state
    dbManager.updateGameState(g_id, "guesstime")
Esempio n. 2
0
def startGame(g_id):
    #update game state
    dbManager.updateGameState(g_id, "fakeanswers")

    #get question
    question_1 = dbManager.getQuestionById(
        dbManager.getGameQuestionIdByGameId(g_id))
    instruction = "... \r Supply a fake answer for others to guess."
    #get player
    players = dbManager.getPlayersByGameId(g_id)
    current_q_num = 1 + dbManager.getGameQuestionSequenceNumber(g_id)

    for player in players:
        messageSender.sendMessage(
            player.mdn, "Question {}: \r".format(current_q_num) + question_1 +
            "{}".format(instruction))
        print("********** {}. Sent to {}".format(question_1, player.mdn))
Esempio n. 3
0
def endGame2(g_id):
    #get game
    curr_game = dbManager.getGameById(g_id)

    #get players in order of score desc.
    winning_plr = dbManager.getWinningPlayer(g_id)

    #get players & scores
    players = dbManager.getPlayersByGameId(g_id)
    #Build Response message
    resp_msg = "\r Congratulations to {}, winning with a score of {} points!!!! Thanks for playing!".format(
        winning_plr.mdn, winning_plr.score)

    #Send Final Messsage
    for play in players:
        messageSender.sendMessage(play.mdn, resp_msg)

    #Update Game state
    dbManager.updateGameState(g_id, "complete")

    #removeAllPlayersFromGame
    rmvd_plyers = dbManager.removeAllPlayersFromGame(g_id)
Esempio n. 4
0
def moveToFakeAnswer(g_id):
    #update game state
    dbManager.updateGameState(g_id, "fakeanswers")

    #Game Object should already be updated
    game_q_id = dbManager.getGameQuestionIdByGameId(g_id)
    current_q_num = 1 + dbManager.getGameQuestionSequenceNumber(g_id)

    print("moving to fake answers - the next question id is {}".format(
        str(game_q_id)))
    #get question
    next_question = dbManager.getQuestionById(game_q_id)
    print("mving to fake answers - next q is {}".format(next_question))

    instruction = "... \r Reply with a fake answer for others to guess."

    #get player
    players = dbManager.getPlayersByGameIdScoreDesc(g_id)

    for player in players:
        messageSender.sendMessage(
            player.mdn, "Question {}: \r".format(current_q_num) +
            next_question + "{}".format(instruction))
        print("********** {}. Sent to {}".format(next_question, player.mdn))
Esempio n. 5
0
def doAClassthing():
    output_test = "butts"
    #gameRecord = Game()
    #gameRecord = Game("ABCD", "lobby", 3, 1, 1, 3,4)
    #app.logger.info(str(request))
    #print request.__dict__

    #from_number = request.values.get('From', None)
    #msg_body = request.values.get('Body', None)
    #lcase_msg_body = msg_body.lower()
    #app.logger.info("From:{}, Body:{}".format(from_number, msg_body))

    #---UPDATE PLAYER Answer
    #dbManager.updatePlayerAnswerFakeGuessId(pa_id, fk_ans_g_id)
    #dbManager.updateQuestionRealAnswerGuessId(q_id, rag_id)
    #dbManager.updatePlayerAnswerGuess(14, None)

    #--- Update Game Sequence
    #dbManager.updateGameSequenceNumber(14, 0)

    #---UPDATE GAME STATE
    dbManager.updateGameState(27, "complete")

    #dbManager.updateGameQuestionId(14, 27)

    #dbManager.updatePlayerScore(2, -300)
    #gameManager.nextRound(25)
    #---Start Game Tester
    #gameManager.startGame(12)
    st = ""
    #---JSON STUFF-----
    #json_string = urllib2.urlopen("http://www.jservice.io/api/random?count=10").read()
    #app.logger.info("JSON: {}\r".format(json_string))

    #----Count Tester
    #st = str(dbManager.getPlayerCount("93B6J"))
    #parsed_json = json.loads(json_string)
    #for i in range (0,10):
    #    app.logger.info("Question: {}".format(parsed_json[i]["question"]))
    #    app.logger.info("Answer: {}".format(parsed_json[i]["answer"]))
    #game_seq_number = questionGenerator.generateAndSaveQuestions("XEKH3",3)
    #app.logger.info("id of first question: {}".format(game_seq_number))
    #app.logger.info("Answer: {}\r".format(parsed_json[0]["answer"]))

    #plr_id = dbManager.updatePlayerGameId(from_number, "ABCD", 4, "lobby")
    #plr_id = updatePlayerGameId2("+14087687080", "XEKH3", 9, "lobby")
    #plr_id = updatePlayerGameId2("+14087687080", "XEKH3", 9, "lobby")
    #if plr_id != 0:
    #    st = "Player Updated"
    #else:
    #st = "player not updated"
    # -- Remove All Players
    #st = ""
    #players_removed = dbManager.removeAllPlayersFromGame(9)
    #for player in players_removed:
    #app.logger.info("id:{}, mdn:{}".format(player.id, player.mdn))
    #st = "{}\r".format(st)

    #if dbManager.checkGameExists(msg_body):
    #    st = "Exists"
    #else:
    #    st = "Doesn't Exist"

    resp = MessagingResponse()
    resp.message(st)
    #resp.message("hi Jon: {}".format(output_test))
    return str(resp)
Esempio n. 6
0
def endGame(game_id_to_end):
    #first lets set game status to "complete"
    dbManager.updateGameState(game_id_to_end, "complete")
    players = dbManager.removeAllPlayersFromGame(game_id_to_end)
    return players