导入
开发一个游戏:语音线索
本节课将帮助我们开启下一个项目的构建。
在本节课中,我们将为接下来要构建的项目做好准备。让我们开始吧!
项目目标
本项目的目的是开发一款名为“语音线索”(Voice Clues)的趣味游戏。在语音线索游戏中,用户会收到三个与世界某首都城市相关的线索。用户需要根据这三个线索猜出对应的城市。
例如,用户可能会看到如下线索:“英国、白金汉宫、茶”。用户需要猜出这座城市是伦敦。
如果用户答对,获得一分;如果答错,游戏结束。最后,系统会告知用户的得分,并询问是否愿意重新开始游戏。
编写技能脚本
让我们尝试编写一个用于描述 Alexa 与用户之间交互的语音用户界面(VUI)脚本。
启动技能
用户:打开语音线索。
Alexa:欢迎来到语音线索!你将收到三个线索,需要将它们匹配到一个首都城市。准备好开始游戏了吗?
用户:准备好了。
游戏进行中:回答正确
Alexa:这是你的线索:印度、红堡、街头小吃。
用户:新德里。
Alexa:正确!进入下一题。这是新的线索:英国、白金汉宫、茶。
用户答对后,游戏继续进行。
处理同义词
在上例中,用户可能回答“德里”而非“新德里”。作为技能开发者,我们需要妥善处理这类情况。在本项目中,我们将学习如何处理同义词问题。
回答错误的情况
现在考虑用户答错的情形:
用户:孟买。
Alexa:抱歉,答案不正确。你答对了一道题。是否要重新开始游戏?
当用户答错时,游戏结束,系统会告知用户得分,并询问是否重新开始。
更多设计考量
我们还需要确保能够处理用户请求帮助以及各种边界情况。请思考一下可能出现的其他场景。
作为练习,请尝试设想这个交互模型的结构:有哪些意图(intents)、语句(utterances)和槽位(slots)?
我们将实现的功能总结
- 向用户给出线索,并让用户猜测线索所指的城市。
- 管理用户的得分。
- 在游戏结束时告知用户最终得分。
- 在代码中处理同义词和边界情况。