10.1.3 核心流程设计
开发在公众账号上玩的猜数字游戏,最重要的就是明确如何处理用户的每一次上行请求,核心处理流程如下。
1)用户向公众账号发送一个没有重复数字的4位数,系统根据数据库中记录的游戏数据(游戏id、OpenID、正确答案、游戏状态等)判断是创建新的一局游戏还是继续最近一次创建的游戏。如果是创建新的一局游戏,转到步骤2),否则转到步骤3)。
2)系统随机生成一个正确答案,创建新的一局游戏,并将游戏数据存储在数据库中,转到步骤4)。
3)系统从数据库中查询最近一次创建的游戏(游戏数据),获取游戏的正确答案。
4)系统将正确答案和用户猜测的数进行比较,计算本回合的猜测结果。系统将本游戏回合的数据(游戏id、OpenID、猜测的数字、猜测结果等)存储在数据库中。
5)系统查询出本局游戏的所有回合,然后依次判断用户是否猜对以及是不是第10个回合。不管是猜对了,还是第10个回合仍未猜对,都要更新数据库中记录的游戏状态,并且结束本局游戏。如果用户没猜对,也不是第10个回合,就提示用户继续猜,本回合结束。
根据上述描述,可以将猜数字游戏的一次交互过程总结为两个重要判断和三种输出结果。
两个重要判断是指:①每次接收到用户猜测的数字,都要判断是新建一局游戏还是继续最近一次创建的游戏;②根据猜测结果判断本局游戏的状态(游戏胜利、游戏失败或游戏中)。
三种输出结果是指根据不同的游戏状态回复不同的结果给用户,每种结果都会包含本局游戏已发生的游戏回合数据,便于用户参考。
读者可以结合猜数字游戏的核心处理流程图进一步理解,如图10-1所示。