Created
August 24, 2016 22:38
-
-
Save johnwheeler/5e8d884ffa1f9d7e348655f160f29b29 to your computer and use it in GitHub Desktop.
memory_game.py
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import logging | |
from random import randint | |
from flask import Flask, render_template | |
from flask_ask import Ask, statement, question, session | |
app = Flask(__name__) | |
ask = Ask(app, "/") | |
logging.getLogger("flask_ask").setLevel(logging.DEBUG) | |
@ask.launch | |
def new_game(): | |
welcome_msg = render_template('welcome') | |
return question(welcome_msg) | |
@ask.intent("YesIntent") | |
def next_round(): | |
numbers = [randint(0, 9) for _ in range(3)] | |
round_msg = render_template('round', numbers=numbers) | |
session.attributes['numbers'] = numbers[::-1] # reverse | |
return question(round_msg) | |
@ask.intent("AnswerIntent", convert={'first': int, 'second': int, 'third': int}) | |
def answer(first, second, third): | |
winning_numbers = session.attributes['numbers'] | |
if [first, second, third] == winning_numbers: | |
score = session.attributes.get('score', 0) | |
session.attributes['score'] = score + 1 | |
return next_round() | |
else: | |
return game_over() | |
@ask.intent("AMAZON.StopIntent") | |
def game_over(): | |
score = session.attributes.get('score', 0) | |
game_over_msg = render_template('game_over', score=score) | |
return statement(game_over_msg) | |
@ask.session_ended | |
def session_ended(): | |
return "", 200 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment