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")
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))
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)
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))
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)
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