多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## 动脑猜猜接口文档 sys.action.game/dongnaocaicai/play 动脑猜猜 <br> #### 参数说明 |名称|类型|是否必须|说明| |:----:|:----:|:----:|:----:| |text|String|是|用户回答的话,一般用text和lastAnswer来判断用户是否回答正确| |lastQuestion|String|否|上一轮的问题| |lastAnswer|String|否|上一轮的答案| |lastExplanation|String|否|上一轮问题的解释| |score|String|否|用户积分| |numChanceLeft|String|否|用户剩余答题次数| |totalNumUserSay|String|否|用户总共答题次数| |prevQuestion|String|否|用户已答题目集,字符串,形式是q1##q2##q3……用来统计用户答题数以及筛选给用户非重复的题目| |prevAnswer|String|否|用户已答题目的答案集a1##a2##a3……| |tag|String|否|游戏数据类别,跟动脑猜猜游戏相关| #### 接口说明 **接口基本逻辑说明:**<br> ![](https://box.kancloud.cn/cda3ebc6d5593b3e13e6e0794ddb79be_847x843.png) 从图中可以看到,动脑猜猜游戏基本可以分为这么几步: 1. 进入动脑猜猜 2. 选择类别 3. 玩游戏 4. 退出 <br> 其中**进入动脑猜猜**和**退出**都算是问答对,不需要出题,不涉及接口调用,而从用户选择类别开始,需要给用户出题,需要记录答题过程,就需要调用接口了。<br> 总结一下,动脑猜猜接口主要做了以下事情:<br> * 根据用户回答的话和之前问题的答案判断用户是否回答正确 * 统计用户的积分 * 统计用户答题数 * 根据答题次数和是否答对来决定继续让用户答还是给出新的题目 * 根据用户选择的类别以及用户答过的题(避免重复)出题 接口参数就是依据以上逻辑来设计的。<br> **接口内部实现说明:**<br> * 首先totalNumUserSay+1,numChanceLeft-1 * 根据text和lastAnswer判断本轮用户是否回答正确,如果正确或者numChanceLeft=0(已经没有剩余答题机会),那么获取一个新的问题,更新prevQuestion,prevAnswer,score;如果不正确,不获取新的问题,不需更新prevQuestion,prevAnswer,score。 * 生成返回结果 **接口建议**: 当初限于架构,接口参数完全通过开发者后台传递,导致接口参数很多,不易于维护,且开发者后台的编辑也很繁琐。<br> 目前在开发者后台调用API接口时,会把userId作为参数传递给接口,所以**建议接口设计只需两个参数:userId和text**,其中text还是用户回答的话,而userId作为用户标识,用来记录用户答题过程中的数据,把lastQuestion,lastAnswer,score,prevQuestion等数据维护在接口所在的服务器端,这样接口逻辑更加清晰,参数更加可控,开发者后台编辑也比较简单。