我正在尝试使用alexa.net构建测验游戏。但是我遇到了潜在的问题。
只要用户回答了问题并且评估了答案,我都想立即提出另一个问题。
目前,用户必须手动请求另一个问题。我想发生的事情是,处理问题的意图一直不断地自我呼叫,直到用户积极选择结束游戏为止。
那有可能吗?如果是这样,有人可以指出正确的方向,甚至可以写一个简短的hello-world风格的例子吗?
答案 0 :(得分:4)
假设您要创建一个数学问答游戏,其中Alexa会问您随机的数学问题,并且您必须提供正确的答案。游戏必须继续进行,直到用户明确要求退出为止。
创建一个AnswerIntent
,当用户说出答案时触发。我们的答案是数字,因此请使用AMAZON.NUMBER
槽创建此意图,以便您捕获所讲的数字。 (根据问题的答案选择您的位置。)
AnswerIntent
的示例语音:
{number}
the answer is {number}
is it {number}
{number} -> AMAZON.NUMBER slot
因此,每次用户说出您的问题的答案时,您都会在后端收到一个POST
请求,并触发了意图(在这种情况下为AnswerIntent
),广告位及其值。然后:
您将仅在与用户互动时在后端接收请求。因此,请确保当用户说出答案时,您的回答中有下一个要问的问题。这样,用户可以继续回答问题而无需明确地提出问题。
示例互动:
User : Alexa, open math quiz
Alexa: Welcome to math quiz. Here is your first question.
What is the sum of five and four.
[you will receive the launch request and your response has the first question]
User : Nine
[you will receive AnswerIntent request, with number slot having value 9.
Validate the answer and generate the next question]
Alexa: Correct!. Here is your next question.
What is the product of ten and five.
User : Twenty.
Alexa: Wrong, the right answer is fifty.
here is your next question.
What is sum of two and six.
User : Stop
[AMAZON.StopIntent is triggered and you can now end the game.]
Alexa: Bye.
使用sessionAttributes
存储有关问题或其答案的一些信息,以便在收到用户响应时可以在后端轻松验证它。