我正在努力建立游戏化Q& A平台,用户可以通过该平台完成系统提供的某些任务,从而获得xp并升级。
任务
id | xp | level
id:任务ID
xp:xp金额
级别:显示此任务的下限
user_tasks
user_id | task_id | compeleted | created_at
通过这种设计,我可以处理用户拥有或将拥有的任务。
如果完成与否,我如何检查任务? 让我们说一个任务是"提出5个问题并获得50 xp"。我该怎么检查?这只是一个例子。我需要一个动态数据库设计,我无法创建它。游戏特别是MMORG游戏如何处理这种侮辱?
感谢您的任何建议。
答案 0 :(得分:0)
让我们说
现在 (例如)
if xp_of_user > 10 then user_level = 1,
if xp_of_user > 20 then user_level = 2,
等等
(或您决定的任何标准。)
你现在需要考虑任务。假设回答5个问题是一个价值50 xp的单个任务。您可以定义task_definition
表来定义您的任务规范,例如5个问题,观看2个视频,运行调查表格或任何。
您已经创建了一个完整的(布尔)字段,可以帮助您完成此操作。如果您询问如何知道用户是否已回答所有问题?然后必须通过您提出问题的特定形式或地点来完成。该表单或流程将负责更新您的任务表。