我正在尝试制作游戏化问答平台,用户可以在其中获得经验并通过执行系统提供的一些任务来升级。
要求
- 当用户升级时,必须给这个用户新的任务,并且用户完成每个给定的任务都会获得经验值。
- 如果用户升级并且还有一些上一个级别的任务,用户可以用新的任务做上一个任务。
我的数据库设计
任务
id | xp | level
id : 任务编号
xp : xp 数量
level:显示此任务的下限
用户任务
user_id | task_id | compeleted | created_at
通过这种设计,我可以处理用户拥有或将要拥有的任务。
问题
如何检查任务是否完成?假设一项任务是“提出 5 个问题并获得 50 xp”。我该如何检查?这只是一个例子。我需要一个动态数据库设计,但我无法创建它。游戏特别是 MMORG 游戏如何处理这种情况?
感谢您的任何建议。