From 8a4784d54eff46f6a0587abd303a074865b18f5c Mon Sep 17 00:00:00 2001 From: bill-orange Date: Wed, 22 Feb 2017 08:21:34 -0800 Subject: [PATCH 1/3] Add files via upload --- flasks_ 108_108.jpg | Bin 0 -> 8505 bytes flasks_ 512_512.jpg | Bin 0 -> 59547 bytes main.py | 534 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 534 insertions(+) create mode 100644 flasks_ 108_108.jpg create mode 100644 flasks_ 512_512.jpg create mode 100644 main.py diff --git a/flasks_ 108_108.jpg b/flasks_ 108_108.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1ba540c0d517b85481f5f8ce692fe6e6d856f506 GIT binary patch literal 8505 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 Let's begin. ") + + + + should_end_session = False + + game_questions = populate_game_questions() + + current_questions_index = 0 + + # Generate a random index for the correct answer, from 0 to 3 + correct_answer_index = math.floor(random.random() * (ANSWER_COUNT)) + round_answers = populate_round_answers(game_questions[current_questions_index], 0, correct_answer_index) + + spoken_question = questions[game_questions[current_questions_index]].keys()[0] + reprompt_text = spoken_question + + # Update code to deal with multiple choice answers + for i in range(0, ANSWER_COUNT): + reprompt_text = reprompt_text + "" + + speech_output = speech_output + reprompt_text + attributes = {"speech_output": reprompt_text, + "reprompt_text": reprompt_text, + "current_questions_index": current_questions_index, + "correct_answer_index": correct_answer_index + 1, + "questions": game_questions, + "score": 0, + "correct_answer_text": questions[game_questions[current_questions_index]].values()[0][0] + } + + return build_response(attributes, build_speechlet_response( + CARD_TITLE, speech_output, reprompt_text, should_end_session)) + + +def populate_game_questions(): + game_questions = [] + index_list = [] + index = len(questions) + + if GAME_LENGTH > index: + raise ValueError("Invalid Game Length") + + for i in range(0, index): + index_list.append(i) + + # Pick GAME_LENGTH random questions from the list to ask the user, + # make sure there are no repeats + for j in range(0, GAME_LENGTH): + rand = int(math.floor(random.random() * index)) + index -= 1 + + temp = index_list[index] + index_list[index] = index_list[rand] + index_list[rand] = temp + game_questions.append(index_list[index]) + + return game_questions + + +def populate_round_answers(game_question_indexes, correct_answer_index, correct_answer_target_location): + """ + Get the answers for a given question, and place the correct answer + at the spot marked by the correct_answer_target_location variable. + Note that you can have as many answers as you want but + only ANSWER_COUNT will be selected. + """ + + answers = [] + answers_copy = questions[game_question_indexes].values()[0] + + index = len(answers_copy) + + if index < ANSWER_COUNT: + raise ValueError("Not enough answers for question.") + + # Shuffle the answers, excluding the first element. + # If only 1 element no need to shuffle + if index > 1: + temp = answers_copy[1:] + random.shuffle(temp) + answers.append(answers_copy[0]) + answers.append(temp[0:ANSWER_COUNT-1]) + + # Swap the correct answer into the target location + answers[0], answers[correct_answer_target_location] = answers[correct_answer_target_location], answers[0] + else: + answers = answers_copy + + return answers + + +def handle_answer_request(intent, session): + attributes = {} + should_end_session = False + answer_slot_valid = is_answer_slot_valid(intent) + user_gave_up = intent['name'] + + if 'attributes' in session.keys() and 'questions' not in session['attributes'].keys(): + # If the user responded with an answer but there is no game + # in progress ask the user if they want to start a new game. + # Set a flag to track that we've prompted the user. + attributes['user_prompted_to_continue'] = True + speech_output = "There is no game in progress. " \ + "Do you want to start a new game?" + reprompt_text = speech_output + return build_response(attributes, build_speechlet_response(CARD_TITLE, + speech_output, reprompt_text, should_end_session)) + elif not answer_slot_valid and user_gave_up == "DontKnowIntent": + # If the user provided answer isn't a number > 0 and < ANSWER_COUNT, + # return an error message to the user. Remember to guide the user + # into providing correct values. + reprompt = session['attributes']['speech_output'] + speech_output = "Your answer must be a known element " + reprompt + return build_response(session['attributes'], build_speechlet_response(CARD_TITLE, speech_output, reprompt_text, should_end_session)) + else: + game_questions = session['attributes']['questions'] + correct_answer_index = session['attributes']['correct_answer_index'] + current_score = session['attributes']['score'] + current_questions_index = session['attributes']['current_questions_index'] + correct_answer_text = session['attributes']['correct_answer_text'] + + speech_output_analysis = None + if answer_slot_valid and intent['slots']['Answer']['value'].lower() == correct_answer_text: + current_score += 1 + speech_output_analysis = "correct. " + else: + if user_gave_up != "DontKnowIntent": + speech_output_analysis = "wrong. " + speech_output_analysis = (speech_output_analysis + + "The correct answer is " + + correct_answer_text + ".") + + # if current_questions_index is 4, we've reached 5 questions + # (zero-indexed) and can exit the game session + if current_questions_index == GAME_LENGTH - 1: + speech_output = "" if intent['name'] == "DontKnowIntent" else "That answer is " + speech_output = (speech_output + speech_output_analysis + " You got " + + str(current_score) + " out of " + str(GAME_LENGTH) + + " questions correct. Thank you for learning Flash" + " Cards with Alexa!") + reprompt_text = None + should_end_session = True + return build_response(session['attributes'], + build_speechlet_response(CARD_TITLE, speech_output, reprompt_text, should_end_session)) + else: + current_questions_index += 1 + spoken_question = questions[game_questions[current_questions_index]].keys()[0] + # Generate a random index for the correct answer, from 0 to 3 + correct_answer_index = math.floor(random.random() * (ANSWER_COUNT)) + round_answers = populate_round_answers(game_questions[current_questions_index], current_questions_index, correct_answer_index) + reprompt_text = spoken_question + for i in range(0, ANSWER_COUNT): + reprompt_text = reprompt_text + "" + + speech_output = "" if user_gave_up == "DontKnowIntent" else "That answer is " + speech_output = (speech_output + speech_output_analysis + + "Your score is " + + str(current_score) + '. ' + reprompt_text) + attributes = {"speech_output": reprompt_text, + "reprompt_text": reprompt_text, + "current_questions_index": current_questions_index, + "correct_answer_index": correct_answer_index + 1, + "questions": game_questions, + "score": current_score, + "correct_answer_text": questions[game_questions[current_questions_index]].values()[0][0] + } + + return build_response(attributes, + build_speechlet_response(CARD_TITLE, speech_output, reprompt_text, + should_end_session)) + + +def handle_repeat_request(intent, session): + """ + Repeat the previous speech_output and reprompt_text from the + session['attributes'] if available else start a new game session + """ + if 'attributes' not in session or 'speech_output' not in session['attributes']: + return get_welcome_response() + else: + attributes = session['attributes'] + speech_output = attributes['speech_output'] + reprompt_text = attributes['reprompt_text'] + should_end_session = False + return build_response(attributes, + build_speechlet_response_without_card(speech_output, reprompt_text, should_end_session)) + + +def handle_get_help_request(intent, session): + attributes = {} + card_title = "Flash Cards" + speech_output = ("You can begin a game by saying start a new game, or, " + "you can say exit... What can I help you with?") + reprompt_text = "What can I help you with?" + should_end_session = False + return build_response(attributes, build_speechlet_response(card_title, speech_output, reprompt_text, should_end_session)) + + +def handle_finish_session_request(intent, session): + """ + End the session with a message + if the user wants to quit the game + """ + attributes = session['attributes'] + reprompt_text = None + speech_output = "Thanks for playing Flash Cards!" + should_end_session = True + return build_response(attributes, + build_speechlet_response_without_card(speech_output, reprompt_text, should_end_session)) + + +def is_answer_slot_valid(intent): + if 'Answer' in intent['slots'].keys() and 'value' in intent['slots']['Answer'].keys(): + return True + else: + return False + + +# --------------- Helpers that build all of the responses ----------------- + +def build_speechlet_response(title, output, reprompt_text, should_end_session): + return { + 'outputSpeech': { + 'type': 'SSML', + 'ssml': "" + output + "" + }, + 'card': { + 'type': 'Simple', + 'title': title, + # content line removed so ssml is not displayed + }, + 'reprompt': { + 'outputSpeech': { + 'type': 'PlainText', + 'text': reprompt_text + } + }, + 'shouldEndSession': should_end_session + } + + + +def build_speechlet_response_without_card(output, reprompt_text, should_end_session): + return { + 'outputSpeech': { + 'type': 'PlainText', + 'text': output + }, + 'reprompt': { + 'outputSpeech': { + 'type': 'PlainText', + 'text': reprompt_text + } + }, + 'shouldEndSession': should_end_session + } + + +def build_response(attributes, speechlet_response): + return { + 'version': '1.0', + 'sessionAttributes': attributes, + 'response': speechlet_response + } From 9d3444f8ea167161913d429cb576044492e158a4 Mon Sep 17 00:00:00 2001 From: bill-orange Date: Wed, 22 Feb 2017 15:55:39 -0800 Subject: [PATCH 2/3] Update main.py --- main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.py b/main.py index c1767f5..056882e 100644 --- a/main.py +++ b/main.py @@ -163,7 +163,7 @@ def lambda_handler(event, context): # if (event['session']['application']['applicationId'] != # "amzn1.echo-sdk-ams.app.[unique-value-here]"): # raise ValueError("Invalid Application ID") - if (event['session']['application']['applicationId'] != "amzn1.ask.skill.77509668-6ca3-4cd6-b869-007b9b17318e"): + if (event['session']['application']['applicationId'] != "amzn1.ask.skill.xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"): raise ValueError("Invalid Application ID") From c64ffd366f1cc71bf7ff34bfd9681c983522fd85 Mon Sep 17 00:00:00 2001 From: bill-orange Date: Fri, 3 Mar 2017 08:52:43 -0800 Subject: [PATCH 3/3] Add files via upload --- main.py | 48 ++++++++++++++++++++++++++++++------------------ 1 file changed, 30 insertions(+), 18 deletions(-) diff --git a/main.py b/main.py index 056882e..94d9fcc 100644 --- a/main.py +++ b/main.py @@ -163,10 +163,7 @@ def lambda_handler(event, context): # if (event['session']['application']['applicationId'] != # "amzn1.echo-sdk-ams.app.[unique-value-here]"): # raise ValueError("Invalid Application ID") - if (event['session']['application']['applicationId'] != "amzn1.ask.skill.xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"): - raise ValueError("Invalid Application ID") - - + if event['session']['new']: on_session_started({'requestId': event['request']['requestId']}, @@ -375,13 +372,25 @@ def handle_answer_request(intent, session): reprompt_text = speech_output return build_response(attributes, build_speechlet_response(CARD_TITLE, speech_output, reprompt_text, should_end_session)) - elif not answer_slot_valid and user_gave_up == "DontKnowIntent": - # If the user provided answer isn't a number > 0 and < ANSWER_COUNT, + #changed 'and' to 'or' + elif not answer_slot_valid or user_gave_up == "DontKnowIntent": + # If the user provided answer isn't a know element, # return an error message to the user. Remember to guide the user # into providing correct values. - reprompt = session['attributes']['speech_output'] - speech_output = "Your answer must be a known element " + reprompt - return build_response(session['attributes'], build_speechlet_response(CARD_TITLE, speech_output, reprompt_text, should_end_session)) + #added _text + # encapsulated this code in 'try' to avoid errors on reserved words. + try: + reprompt_text = session['attributes']['speech_output'] + #added _text + speech_output = "Your answer must be a known element " + reprompt_text + except: + # handles inappropriate reply + reprompt_text = "say begin a new game or stop" + speech_output = "say begin a new game or stop" + attributes['user_prompted_to_continue'] = True + + + return build_response(attributes, build_speechlet_response(CARD_TITLE, speech_output, reprompt_text, should_end_session)) else: game_questions = session['attributes']['questions'] correct_answer_index = session['attributes']['correct_answer_index'] @@ -397,14 +406,14 @@ def handle_answer_request(intent, session): if user_gave_up != "DontKnowIntent": speech_output_analysis = "wrong. " speech_output_analysis = (speech_output_analysis + - "The correct answer is " + - correct_answer_text + ".") + "The correct answer is " + + correct_answer_text) # if current_questions_index is 4, we've reached 5 questions # (zero-indexed) and can exit the game session if current_questions_index == GAME_LENGTH - 1: - speech_output = "" if intent['name'] == "DontKnowIntent" else "That answer is " - speech_output = (speech_output + speech_output_analysis + " You got " + speech_output = "" if intent['name'] == "DontKnowIntent" else "That answer is " + speech_output = (speech_output + speech_output_analysis + " You got " + str(current_score) + " out of " + str(GAME_LENGTH) + " questions correct. Thank you for learning Flash" " Cards with Alexa!") @@ -422,9 +431,9 @@ def handle_answer_request(intent, session): for i in range(0, ANSWER_COUNT): reprompt_text = reprompt_text + "" - speech_output = "" if user_gave_up == "DontKnowIntent" else "That answer is " + speech_output = "" if user_gave_up == "DontKnowIntent" else "That answer is " speech_output = (speech_output + speech_output_analysis + - "Your score is " + + "Your score is " + str(current_score) + '. ' + reprompt_text) attributes = {"speech_output": reprompt_text, "reprompt_text": reprompt_text, @@ -480,9 +489,12 @@ def handle_finish_session_request(intent, session): def is_answer_slot_valid(intent): - if 'Answer' in intent['slots'].keys() and 'value' in intent['slots']['Answer'].keys(): - return True - else: + try: + if 'Answer' in intent['slots'].keys() and 'value' in intent['slots']['Answer'].keys(): + return True + else: + return False + except: return False