在上一篇帖子中简单介绍了连接组件,并使用连接实现了一个简单的私聊模型,今天我们来制作一个实时对战答题模型。大体的设计思路是,用户A登记进入连接并将自己的CID添加到URL中转发给好友B,B打开带有URL参数的案例创建一个房间并对A发出邀请,A进入房间后答题开始,答对加分,答错对方加分,最后统计总分数分出胜负。
一.数据库
存储题目的questionTable数据库添加了三个字段,title存放题目;options存放选项,并写成JSON格式;correctIndex存放正确答案的序号。存放玩家数据的userTable数据库中nickname字段存放玩家昵称,matchPoint存放玩家总共的胜局数。
二.服务
GetQuestions服务负责将questionTable中的题目输出并发送给前台,postUser服务则负责从是数据库中找到获胜玩家(如果找不到就添加一条玩家数据),并更新其matchpoint字段。
三.变量
下图是案例中使用到的变量
finalResult表示对局的最终结果,案例中会给它赋值“victory”、“failed”和“tie”表示胜、负和平局,choseResult是当前题目的答题结果,案例中会给它赋值“Our Score”和“Opponent score”表示己方得分和对方得分。
AnswerIndex和opponentAnswerIndex分别表示自己和对方的答题结果,即所选选项的序号,初始值都为-1。
QuestionIndex表示当前题目的序号,currentQuestion用于存储当前题目,全部题目则存放在questionList中。
WaitTime是开始答题前的准备倒计时,初始值为5;l