一 需求描述
一款在线游戏,玩家登录后可以选择挂机和游戏两种状态。
-
挂机状态:玩家不操纵游戏,游戏由系统托管。
-
游戏状态:玩家主动操纵游戏。
玩家刚登录时直接进入游戏状态,玩家的游戏状态如下图所示。
在玩家的游戏面板上展示自上线后的挂机的累计时长和游戏的累计时长。此功能仅作为展示使用,目的是让玩家对挂机时间和主动游戏时间有一个概念,合理分配不同状态的时间。
允许统计时间有一分钟内的时延。
服务器端支持显示功能,计算好两个时长数据,供客户端展示。
二 项目背景
该游戏服务器已经有了两个存储玩家相关数据的数据库表。
1 玩家状态表
存储玩家的当前状态,是挂机还是游戏状态。
该表实现游戏逻辑,一些逻辑模块会读写该表的数据来实现游戏逻辑。
该表包含的字段:
-
玩家当前状态
-
玩家标识id
内容如下
玩家状态表 |
|
玩家标识id |
玩家当前状态 |
123 |
主动游戏 |
456 |
离线 |
789 < |