0

我正在尝试制作游戏化问答平台,用户可以在其中获得经验并通过执行系统提供的一些任务来升级。

要求

  • 当用户升级时,必须给这个用户新的任务,并且用户完成每个给定的任务都会获得经验值。
  • 如果用户升级并且还有一些上一个级别的任务,用户可以用新的任务做上一个任务。

我的数据库设计

任务

id | xp | level

id : 任务编号

xp : xp 数量

level:显示此任务的下限

用户任务

user_id | task_id | compeleted | created_at

通过这种设计,我可以处理用户拥有或将要拥有的任务。

问题

如何检查任务是否完成?假设一项任务是“提出 5 个问题并获得 50 xp”。我该如何检查?这只是一个例子。我需要一个动态数据库设计,但我无法创建它。游戏特别是 MMORG 游戏如何处理这种情况?

感谢您的任何建议。

4

1 回答 1

0

比方说

  • 每个用户都有许多任务(已完成/未完成)。
  • 单个任务具有 Xp(数量)。
  • 一个任务有 task_details

现在(例如)

if xp_of_user > 10 then user_level = 1, 
if xp_of_user > 20 then user_level = 2, 

等等

(或您决定的任何标准。)

问 5 个问题即可获得 50 xp

你现在需要从任务的角度来思考。假设回答 5 个问题是一项价值 50 xp 的任务。您可以定义task_definition定义您的任务规范的表格,例如 5 个问题、观看 2 个视频、通过调查表或任何方式运行。

如何检查任务是否完成?

您已经创建了一个完整的(布尔值)字段,它将帮助您。如果您要问如何知道用户是否回答了所有问题?那么这必须通过您进行问题的特定表格或地点来完成。该表格或流程将负责更新您的任务表。

于 2016-07-23T01:11:06.323 回答